OVH Cloud OVH Cloud

Clé primaire

5 réponses
Avatar
Jacques
Bonjour,

Est-il possible de créer une clé primaire sur deux champs par le code sur
une table ?

Si , oui ...comment car après recherches sur le net , je n'ai rien trouvé !

Merci de vos réponses


Jacques

5 réponses

Avatar
**Pierre**
il n'est pas possible de créer 2 clés primaires mais si tu mets ta deuxième
colonne en indexé, sans doublon alors, tu peux l'utiliser comme une clé
primaire.

--
Pierre
"Jacques" a écrit dans le message de
news:OrmoSdz$
Bonjour,

Est-il possible de créer une clé primaire sur deux champs par le code sur
une table ?

Si , oui ...comment car après recherches sur le net , je n'ai rien trouvé
!


Merci de vos réponses


Jacques




Avatar
Eric
Bonsoir,

Oui c'est possible. Via une instruction SQL ça donne :
Sub zz()
Dim strSQL As String
strSQL = "ALTER TABLE LaTable ADD CONSTRAINT PK_SonNom " & _
"PRIMARY KEY(Champ1,Champ2);"
CurrentDb.Execute strSQL
End Sub

Te reste à remplacer LaTable, PK_SonNom, Champ1 et Champ2 par tes
propres valeurs(noms)

Bonjour,

Est-il possible de créer une clé primaire sur deux champs par le code sur
une table ?

Si , oui ...comment car après recherches sur le net , je n'ai rien trouvé !

Merci de vos réponses


Jacques




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Gilbert
Bonjour,

J'ai trouvé ça dans les archives du newsgroup.
Je n'ai pas testé. A toi de voir si c'est correct.

Un exemple créant un index sur le nom et le prénom d'une table nommée
Enfant.


Sub Th()
Dim t As DAO.TableDef
Dim idx As DAO.Index
Dim bd As DAO.Database
Set bd = CurrentDb
Set t = bd.TableDefs("Enfant")
With t
Set idx = .CreateIndex("MonIndexNomPrenom")
With idx
.Fields.Append .CreateField("Nom")
.Fields.Append .CreateField("Prenom")
End With
.Indexes.Append idx
End With
Set idx = Nothing
Set t = Nothing
Set bd = Nothing
End Sub

Gilbert

"Jacques" a écrit dans le message de
news:OrmoSdz$
Bonjour,

Est-il possible de créer une clé primaire sur deux champs par le code sur
une table ?

Si , oui ...comment car après recherches sur le net , je n'ai rien trouvé
!


Merci de vos réponses


Jacques




Avatar
**Pierre**
bon d'accord, j'ai pas testé et pourquoi créer 2 clés primaires ???

--
Pierre
"Gilbert" a écrit dans le message de
news:uYGuza0$
Bonjour,

J'ai trouvé ça dans les archives du newsgroup.
Je n'ai pas testé. A toi de voir si c'est correct.

Un exemple créant un index sur le nom et le prénom d'une table nommée
Enfant.


Sub Th()
Dim t As DAO.TableDef
Dim idx As DAO.Index
Dim bd As DAO.Database
Set bd = CurrentDb
Set t = bd.TableDefs("Enfant")
With t
Set idx = .CreateIndex("MonIndexNomPrenom")
With idx
.Fields.Append .CreateField("Nom")
.Fields.Append .CreateField("Prenom")
End With
.Indexes.Append idx
End With
Set idx = Nothing
Set t = Nothing
Set bd = Nothing
End Sub

Gilbert

"Jacques" a écrit dans le message de
news:OrmoSdz$
Bonjour,

Est-il possible de créer une clé primaire sur deux champs par le code
sur


une table ?

Si , oui ...comment car après recherches sur le net , je n'ai rien
trouvé


!

Merci de vos réponses


Jacques








Avatar
3stone
"**Pierre**"
| bon d'accord, j'ai pas testé et pourquoi créer 2 clés primaires ???


clé primaire sur "deux" champs...

c'est différent, même s'il faut éviter si possible ;-)


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/