perathoner
Messages postés90Date d'inscriptiondimanche 5 novembre 2000StatutMembreDernière intervention26 juillet 2006
-
24 juin 2005 à 15:13
perathoner
Messages postés90Date d'inscriptiondimanche 5 novembre 2000StatutMembreDernière intervention26 juillet 2006
-
27 juin 2005 à 14:58
Bonjour .....
Ba voilà une p'tite question :
Je développe sous Vb 6.0 et j'utilise une BDD sous Ms Access dans une application.
Via cette application, l'utilisateur créer des tables, renfermants 3 champs :
--> Id
--> Libelle
--> Aide
Et j'aimerais définir une clef primaire sur le champ Id...
Comment Faire ????
Si quelsu'un à 2 minutes à perdre, j'imagine que c'est pas bien compliqué... mais j'sais pas comment on fait !!!
Merci par avance à ceux et/ou à celles qui prendront la peine de répondre...
cs_wape
Messages postés262Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention19 décembre 201012 24 juin 2005 à 17:54
Bonjour,
Essaye ceci :
Public Sub CreationNewTable(TableName As String, ProgressBar As ProgressBar)
Dim MyTable As TableDef
Dim RecordParameter As Recordset
Dim RecordNewTable As Recordset
Dim SQLParameter As String
Dim SQLNewTable As String
Dim Champ As Field
Dim Idx As Index Dim i As Integer
'Création de l'objet TABLE
Set MyTable = Base.CreateTableDef(TableName)
With MyTable
Set Champ = MyTable.CreateField()
With Champ
' Nom
.Name = "Id"
' Type
.Type = dbLong
' Taille
'.AllowZeroLength = True
End With
' ajout du champ
MyTable.Fields.Append Champ
'Création de l'index
Set Idx = MyTable.CreateIndex("PrimaryKey")
'Définition de l'index comme clé primaire
Idx.Primary = True
'Création du champ
Set Champ = Idx.CreateField("Id")
'Ajout du champ à l'index
Idx.Fields.Append Champ
'Ajout de l'index à la table
MyTable.Indexes.Append Idx
Set Champ = .CreateField()
With Champ
' Nom
.Name = "Libelle"
' Type
.Type = dbText
' Taille
.Size = 255
' Option
.AllowZeroLength = True
End With
' ajout du champ
MyTable.Fields.Append Champ
Set Champ = .CreateField()
With Champ
' Nom
.Name = "Aide"
' Type
.Type = dbText
' Taille
.Size = 255
' Option
.AllowZeroLength = True
End With
' ajout du champ
MyTable.Fields.Append Champ
'Ajout de la nouvelle table à la base de données
Base.TableDefs.Append MyTable
cs_julien71
Messages postés5Date d'inscriptionmardi 29 janvier 2002StatutMembreDernière intervention24 juin 2005 24 juin 2005 à 15:17
Bonjour,
tu sélectionne la ligne du champs Id et tu clic sur l'icone qui contient une clé jaune dans la barre d'outils ou sinon tu fais un clic droit sur le champs Id et tu choix cl primaire dans le menu contextuel.
perathoner
Messages postés90Date d'inscriptiondimanche 5 novembre 2000StatutMembreDernière intervention26 juillet 2006 24 juin 2005 à 15:22
Merci Julien71 d'avoir répondu aussi rapidement... mais ça je sais le faire... ma question (elle est p'être pas très bien posée, j'te l'accord) c'est comment définire une clef primaire via Vb ???
Mon code ressemble à ça :
'================================================================================
Public Sub CreationNewTable(TableName As String, ProgressBar As ProgressBar)
Dim MyTable As TableDef
Dim RecordParameter As Recordset
Dim RecordNewTable As Recordset
Dim SQLParameter As String
Dim SQLNewTable As String
Dim Champ As Field
Dim i As Integer
'Création de l'objet TABLE
Set MyTable = Base.CreateTableDef(TableName)
With MyTable
Set Champ = MyTable.CreateField()
With Champ
' Nom
.Name = "Id"
' Type
.Type = dbLong
' Taille
'.AllowZeroLength = True
End With
' ajout du champ
MyTable.Fields.Append Champ
Set Champ = .CreateField()
With Champ
' Nom
.Name = "Libelle"
' Type
.Type = dbText
' Taille
.Size = 255
' Option
.AllowZeroLength = True
End With
' ajout du champ
MyTable.Fields.Append Champ
Set Champ = .CreateField()
With Champ
' Nom
.Name = "Aide"
' Type
.Type = dbText
' Taille
.Size = 255
' Option
.AllowZeroLength = True
End With
' ajout du champ
MyTable.Fields.Append Champ
'Ajout de la nouvelle table à la base de données
Base.TableDefs.Append MyTable
End With
'================================================================================
Je trouve pas la propriété pour définir ma clef sur le champ Id ??
cs_julien71
Messages postés5Date d'inscriptionmardi 29 janvier 2002StatutMembreDernière intervention24 juin 2005 24 juin 2005 à 15:48
re,
tiens j'ai trouvé ça sur un site
' Définit le champ ajouté comme étant la clé primaire
Set key = New ADOX.key
With key
.Name = "PrimaryKey"
.Type = adKeyPrimary
.RelatedTable = "Table1"
.Columns.Append "Champ1"
End With
cat.Tables("Table1").Keys.Append key