Bonjour,
Mon problème est le suivant j'ai trouvé un code pour définir une clé primaire sur une table, celui-ci marche très bien.
Cependant quand je relance ma macro faisant appelle à cette fonction, qui supprime la table et la réimporte sans clé primaire.
Access me renvoie un message d'erreur, la clé primaire existe déjà.
Je ne comprend pas très bien pourquoi cela ne fonctionne pas.
Quelqu'un aurait il une idée, svp ?
J'ai pensé rajoute une boucle If mais celle-ci ne fonctionne pas...
Je voulais également remercier tous ceux qui m'ont aidés sur ce forum, leur aide m'a vraiment été précieuses.
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 'Instancie la base Set oDb = CurrentDb 'Instancie la table Set oTbl = oDb.TableDefs("Caisse") 'Crée l'index en le nommant PK_Client Set oInd = oTbl.CreateIndex("primary") 'Cree le champs dans l'index Set oFld = oInd.CreateField("designation") If oInd.Primary = False Then 'Ajoute le champ à la collection Fields oInd.Fields.Append oFld 'Définit la clé primaire oInd.Primary = True 'Ajoute l'index à la table oTbl.Indexes.Append oInd 'Rafraichit la collection oTbl.Indexes.Refresh End If
Partager