OVH Cloud OVH Cloud

Création de tables en code

3 réponses
Avatar
Julian Alvarez
Bonjour,

je créé une table avec du code, tout se passe bien. J'ai juste un petit
souci, je n'arrive pas à rentrer par code la propriété "Description" pour les
champs que je crée.

Je fais tout sous DAO, mais je peux passer en ADOX.

Quelqu'un a t'il une idéé.

Merci d'avance.
exemple de mon code :

Public Sub creeTable()

Dim db As Database
Dim rd As Recordset
Dim tdf As TableDef
Dim fld As Field

Set db = CurrentDb
Set rd = db.OpenRecordset("ZT100_CreeTable")

Set tdf = db.CreateTableDef(rd.Fields("c_nomtable").Value)

While rd.EOF <> True

Set fld = tdf.CreateField(Replace(rd.Fields("c_champs").Value, ".", "-"),
dbText)
tdf.Fields.Append fld
rd.MoveNext
Wend
db.TableDefs.Append tdf

End Sub

3 réponses

Avatar
Gafish
Bonjour,

Regarde dans les archives le post de Raymond à ce sujet :
http://minilien.com/?05y9uoJTG2

Arnaud

"Julian Alvarez" a écrit dans le
message news:
Bonjour,

je créé une table avec du code, tout se passe bien. J'ai juste un petit
souci, je n'arrive pas à rentrer par code la propriété "Description" pour
les

champs que je crée.

Je fais tout sous DAO, mais je peux passer en ADOX.

Quelqu'un a t'il une idéé.

Merci d'avance.
exemple de mon code :

Public Sub creeTable()

Dim db As Database
Dim rd As Recordset
Dim tdf As TableDef
Dim fld As Field

Set db = CurrentDb
Set rd = db.OpenRecordset("ZT100_CreeTable")

Set tdf = db.CreateTableDef(rd.Fields("c_nomtable").Value)

While rd.EOF <> True

Set fld = tdf.CreateField(Replace(rd.Fields("c_champs").Value, ".", "-"),
dbText)
tdf.Fields.Append fld
rd.MoveNext
Wend
db.TableDefs.Append tdf

End Sub






Avatar
Raymond [mvp]
Bonjour.

tu trouveras la procédure sur la page :
http://officesystem.access.free.fr/vba/table_nouvelle.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Julian Alvarez" a écrit dans le
message de news:
Bonjour,

je créé une table avec du code, tout se passe bien. J'ai juste un petit
souci, je n'arrive pas à rentrer par code la propriété "Description" pour
les
champs que je crée.

Je fais tout sous DAO, mais je peux passer en ADOX.

Quelqu'un a t'il une idéé.

Merci d'avance.
exemple de mon code :

Public Sub creeTable()

Dim db As Database
Dim rd As Recordset
Dim tdf As TableDef
Dim fld As Field

Set db = CurrentDb
Set rd = db.OpenRecordset("ZT100_CreeTable")

Set tdf = db.CreateTableDef(rd.Fields("c_nomtable").Value)

While rd.EOF <> True

Set fld = tdf.CreateField(Replace(rd.Fields("c_champs").Value, ".", "-"),
dbText)
tdf.Fields.Append fld
rd.MoveNext
Wend
db.TableDefs.Append tdf

End Sub






Avatar
Julian Alvarez
uN GRAND MERCI A VOUS DEUX POUR CE CODE ASTUCIEUX !

A+


Bonjour.

tu trouveras la procédure sur la page :
http://officesystem.access.free.fr/vba/table_nouvelle.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Julian Alvarez" a écrit dans le
message de news:
Bonjour,

je créé une table avec du code, tout se passe bien. J'ai juste un petit
souci, je n'arrive pas à rentrer par code la propriété "Description" pour
les
champs que je crée.

Je fais tout sous DAO, mais je peux passer en ADOX.

Quelqu'un a t'il une idéé.

Merci d'avance.
exemple de mon code :

Public Sub creeTable()

Dim db As Database
Dim rd As Recordset
Dim tdf As TableDef
Dim fld As Field

Set db = CurrentDb
Set rd = db.OpenRecordset("ZT100_CreeTable")

Set tdf = db.CreateTableDef(rd.Fields("c_nomtable").Value)

While rd.EOF <> True

Set fld = tdf.CreateField(Replace(rd.Fields("c_champs").Value, ".", "-"),
dbText)
tdf.Fields.Append fld
rd.MoveNext
Wend
db.TableDefs.Append tdf

End Sub