Bonjour,
Je suis débutante en Access et VBA.
Je tente de créer une table avec ses champs vides.
Ma première question est :
J'ai importé une table sous Access dans le but de corriger des erreurs de saisie des champs "Nom et Prenom", cependant après de nombreuses lectures (qui m'embrouillent peut-être un peu), j'ai décidé de construire ma table vide à l'aide de Visual Basic pour ensuite y insérer mes données existantes! Ce qui me permet de définir le type, les propriétés, les index ... des champs! Est-ce vraiment utile?
Ma deuxième question est :
Voici le programme que j'ai tapé pour créer ma table avec ses champs vides :
Cependant ce code fonctionne sous Access 97 mais pas sous Access 2000!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78 Public Sub creation_table() Dim WSpace As Workspace Dim db As Database Dim tbl As TableDef Dim fld As Field Dim idx As Index Set WSpace = DBEngine(0) Set db = WSpace(0) 'ouvrons la base de données Set db = CurrentDb() 'Création d'un objet TableDef 'Création de la table "IdentificationSecteur4" Debug.Print "Création de la table IdentificationSecteur4" Set tbl = db.CreateTableDef("IdentificationSecteur4") 'Création du champ "CodSect" avec ses propriétés Set fld = tbl.CreateField("CodSect", dbLong, 1) fld.Required = True tbl.Fields.Append fld 'Création du champ "CodPat" avec ses propriétés Set fld = tbl.CreateField("CodPat", dbLong) fld.Required = True tbl.Fields.Append fld 'Création du champ "Nom" avec ses propriétés Set fld = tbl.CreateField("Nom", dbText) fld.Required = False tbl.Fields.Append fld 'Création du champ "NomJeuneFille" avec ses propriétés Set fld = tbl.CreateField("NomJF", dbText) fld.Required = False tbl.Fields.Append fld 'Création du champ "Prénom" avec ses propriétés Set fld = tbl.CreateField("Prenom", dbText) fld.Required = False tbl.Fields.Append fld 'Création du champ "Date de naisance" avec ses propriétés Set fld = tbl.CreateField("DatNaissance", dbDate) fld.Required = False tbl.Fields.Append fld 'Création d'un index et de ses propriétés Set idx = tbl.CreateIndex("PrimaryKey") idx.Primary = True idx.Required = True idx.Unique = True 'Ajout d'un champ à l'index Set fld = idx.CreateField("CodPat") idx.Fields.Append fld 'Ajout d'un index à la table tbl.Indexes.Append idx 'Ajout de la table à la base de données db.TableDefs.Append tbl 'Rafraîchissons la base de données Window RefreshDatabaseWindow 'Message indiquant si la création est réussie MsgBox "La table " & tbl.Name & " est créée " WSpace.BeginTrans db.TableDefs.Append tbl WSpace.CommitTrans 'Debug.Print creation_table End Sub
Voici le message d'erreur :"Type défini par l'utilisateur non défini : WSpace As Workspace"
J'ai regardé dans l'aide Access et suivi les conseils (outil-références) mais ça ne fonctionne toujours pas.
Avez-vous une idée?
Merci d'avance!
Partager