begin process at 2008 07 21 00:35:25
1 213 530 membres
431 nouveaux aujourd'hui
14 167 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : comment créer les relations entre les tables d'1 BD avec du code? [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (aminix9)

comment créer les relations entre les tables d'1 BD avec du code? le 25/11/2004 00:59:24

aminix9
salut à vous !
Bon j ai un diagramme de classe avec des relations entre elles j'arrive à créer les tables correspondantes au classes mais le pb c comment créer les relations entre les tables de la BD(clé primaire,clé étrangère...)

et merci!

Re : comment créer les relations entre les tables d'1 BD avec du code? le 25/11/2004 11:32:32

Ricks27
Réponse acceptée !
Bonjour,

C'est une base de données au format access?
Tu utilise VB6?

si oui : Voici un exemple de création de tables, de champs, et de relations en VB6


Public Sub CréationTables()
Dim T As DAO.TableDef
Dim f As DAO.Field
Dim r As DAO.Relation
Dim ix As DAO.Index
Dim prp As DAO.Property
Dim x As Long

On Error GoTo TraiteErreur

' ---- Création Table Composants ----

Set T = Db.CreateTableDef("Composants")

'Id : NuméroAuto + PrimaryKey
Set f = T.CreateField("Id", DAO.DataTypeEnum.dbLong)
f.Attributes = DAO.dbAutoIncrField
T.Fields.Append f

Set ix = T.CreateIndex("PrimaryKey")
With ix
.Fields.Append .CreateField("Id")
.Primary = True
End With
T.Indexes.Append ix

'Libellé : Texte(50) + Chaîne vide autorisée
Set f = T.CreateField("Libellé", DAO.DataTypeEnum.dbText, 50)
f.AllowZeroLength = True
f.Required = False
T.Fields.Append f

Db.TableDefs.Append T


' ---- Création Table Constituants ----

Set T = Db.CreateTableDef("Constituants")

'Id : NuméroAuto + PrimaryKey
Set f = T.CreateField("Id", DAO.DataTypeEnum.dbLong)
f.Attributes = DAO.dbAutoIncrField
T.Fields.Append f

Set ix = T.CreateIndex("PrimaryKey")
With ix
.Fields.Append .CreateField("Id")
.Primary = True
End With
T.Indexes.Append ix

'Flux : Numérique + Décimal Auto
Set f = T.CreateField("Flux", DAO.DataTypeEnum.dbLong)
f.DefaultValue = 0
T.Fields.Append f

'Composant : Numérique + Décimal Auto
Set f = T.CreateField("Composant", DAO.DataTypeEnum.dbLong)
f.DefaultValue = 0
T.Fields.Append f

'Pourcentage : Réel double + 2 Décimals
Set f = T.CreateField("Pourcentage", DAO.DataTypeEnum.dbDouble)
f.DefaultValue = 0
T.Fields.Append f

Db.TableDefs.Append T

Db.TableDefs.Refresh
Set T = Db.TableDefs("Constituants")
Set f = T.Fields("Pourcentage")
Set prp = f.CreateProperty("DecimalPlaces", dbByte, CByte(2))
f.Properties.Append prp
T.Fields.Refresh


' ----- Relation -> Composants vers constituants -----

Set r = Db.CreateRelation()
With r
.Name = "ComposantsConstituants"
.Table = "Composants"
.ForeignTable = "Constituants"
.Attributes = DAO.dbRelationLeft

Set f = .CreateField("Id")
f.ForeignName = "Composant"
r.Fields.Append f
End With
Db.Relations.Append r


TraiteErreur:
If Err = 0 Then
Set T = Nothing
Set f = Nothing
Set ix = Nothing
Set r = Nothing
MsgBox "Les Tables Constituants et Composants ont été créées avec succés.", vbInformation, "Confirmation de création"
Else
Set T = Nothing
Set f = Nothing
Set ix = Nothing
End If
End Sub



Ricks27

Re : comment créer les relations entre les tables d'1 BD avec du code? le 26/11/2004 00:48:46

aminix9
merci Ricks27!

je vais adapter ton code avec le mien et je pensa que ça va marcher!
merci une autre fois
a+

Re : comment créer les relations entre les tables d'1 BD avec du code? le 17/09/2007 15:35:18

hkool81
salut tout le monde
jesuis vraiment heureux d'avoir ce site dont je suis tres reconnaissant et aussi aux navigateurs de ce site
donc ma demande est la suivante

comment declarer un workspace et un base de donnée de plusieurs tables dans un projet de vb6
merci
jesuis encore un dibuttant


Classé sous : créer, bd, code, tables, relations

Participer à cet échange

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS