Il faut jouer avec les propriétés d'un objet field. Le field doit exister avant de changer les propriétés. Le code donné en exemple n'est qu'une des multiples façons de faire (testé avc référence à DAO 3.6)
-- Jean-marc
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le message de
news:685a01c493db$c65b7560$a501280a@phx.gbl...
Bonjour a tous
dans une procédure de création d'une table Access, je
voudrais imputé a un field :
Null interdit=non
chaine vide autorisée=oui
je pense que qu'il faut ajouter : Required et
AllowZeroLength
Il faut jouer avec les propriétés d'un objet field. Le field doit exister
avant de changer les propriétés. Le code donné en exemple n'est qu'une des
multiples façons de faire (testé avc référence à DAO 3.6)
Il faut jouer avec les propriétés d'un objet field. Le field doit exister avant de changer les propriétés. Le code donné en exemple n'est qu'une des multiples façons de faire (testé avc référence à DAO 3.6)
-- Jean-marc
Jean claude
Salut Jean-Marc
Merci pour ta réponse, mais cela ne règle pas mon probleme,
cat.ActiveConnection = ADOcn ' Ajout de la table Set tbl = New ADOX.Table tbl.Name = TableName tbl.Columns.Append "Num", adInteger
si j'écris tblCcolumns("Num"). la liste déroulante ne me propose pas AllowZeroLength
Vois-tu pourquoi ?
Cordialement Jean Claude
-----Message d'origine----- "Jean Claude" a écrit
dans le message de
news:685a01c493db$c65b7560$
Bonjour a tous dans une procédure de création d'une table Access, je voudrais imputé a un field :
Null interdit=non chaine vide autorisée=oui
je pense que qu'il faut ajouter : Required et AllowZeroLength
Il faut jouer avec les propriétés d'un objet field. Le
field doit exister
avant de changer les propriétés. Le code donné en exemple
n'est qu'une des
multiples façons de faire (testé avc référence à DAO 3.6)
-- Jean-marc
.
Jean-Marc
"Jean claude" a écrit dans le message de news:6b7a01c49416$40f9f190$
Salut Jean-Marc
Merci pour ta réponse, mais cela ne règle pas mon probleme,
cat.ActiveConnection = ADOcn ' Ajout de la table Set tbl = New ADOX.Table tbl.Name = TableName tbl.Columns.Append "Num", adInteger
si j'écris tblCcolumns("Num"). la liste déroulante ne me propose pas AllowZeroLength
Vois-tu pourquoi ?
Non je ne vois pas, et je n'ai jamais cherché en fait. Ceci dit, je pense qu'un coup de Google avec "ADO field AllowZeroLength" ou "ADO field NULL authorized" devrait donner des résultats.
Mais à mon avis, tu peux essayer de récupérer ton field dans un vrai objet field. Voir alors si il ne propose pas contextuellement ces 2 pptés.
-- Jean-marc
"Jean claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le message de
news:6b7a01c49416$40f9f190$a501280a@phx.gbl...
Salut Jean-Marc
Merci pour ta réponse, mais cela ne règle pas mon probleme,
cat.ActiveConnection = ADOcn
' Ajout de la table
Set tbl = New ADOX.Table
tbl.Name = TableName
tbl.Columns.Append "Num", adInteger
si j'écris tblCcolumns("Num"). la liste déroulante ne me
propose pas AllowZeroLength
Vois-tu pourquoi ?
Non je ne vois pas, et je n'ai jamais cherché en fait.
Ceci dit, je pense qu'un coup de Google avec
"ADO field AllowZeroLength" ou "ADO field NULL authorized"
devrait donner des résultats.
Mais à mon avis, tu peux essayer de récupérer ton field dans un vrai objet
field.
Voir alors si il ne propose pas contextuellement ces 2 pptés.
"Jean claude" a écrit dans le message de news:6b7a01c49416$40f9f190$
Salut Jean-Marc
Merci pour ta réponse, mais cela ne règle pas mon probleme,
cat.ActiveConnection = ADOcn ' Ajout de la table Set tbl = New ADOX.Table tbl.Name = TableName tbl.Columns.Append "Num", adInteger
si j'écris tblCcolumns("Num"). la liste déroulante ne me propose pas AllowZeroLength
Vois-tu pourquoi ?
Non je ne vois pas, et je n'ai jamais cherché en fait. Ceci dit, je pense qu'un coup de Google avec "ADO field AllowZeroLength" ou "ADO field NULL authorized" devrait donner des résultats.
Mais à mon avis, tu peux essayer de récupérer ton field dans un vrai objet field. Voir alors si il ne propose pas contextuellement ces 2 pptés.
-- Jean-marc
Jean claude
Salut
j'ai essayé sur google et rien trouvé qui puisses m'aider Cordialement JC
-----Message d'origine----- "Jean claude" a écrit
dans le message de
news:6b7a01c49416$40f9f190$
Salut Jean-Marc
Merci pour ta réponse, mais cela ne règle pas mon
probleme,
cat.ActiveConnection = ADOcn ' Ajout de la table Set tbl = New ADOX.Table tbl.Name = TableName tbl.Columns.Append "Num", adInteger
si j'écris tblCcolumns("Num"). la liste déroulante ne me propose pas AllowZeroLength
Vois-tu pourquoi ?
Non je ne vois pas, et je n'ai jamais cherché en fait. Ceci dit, je pense qu'un coup de Google avec "ADO field AllowZeroLength" ou "ADO field NULL authorized" devrait donner des résultats.
Mais à mon avis, tu peux essayer de récupérer ton field
dans un vrai objet
field. Voir alors si il ne propose pas contextuellement ces 2
pptés.
-- Jean-marc
.
Salut
j'ai essayé sur google et rien trouvé qui puisses m'aider
Cordialement
JC
-----Message d'origine-----
"Jean claude" <jean-claude.mansion@wanadoo.fr> a écrit
dans le message de
news:6b7a01c49416$40f9f190$a501280a@phx.gbl...
Salut Jean-Marc
Merci pour ta réponse, mais cela ne règle pas mon
probleme,
cat.ActiveConnection = ADOcn
' Ajout de la table
Set tbl = New ADOX.Table
tbl.Name = TableName
tbl.Columns.Append "Num", adInteger
si j'écris tblCcolumns("Num"). la liste déroulante ne me
propose pas AllowZeroLength
Vois-tu pourquoi ?
Non je ne vois pas, et je n'ai jamais cherché en fait.
Ceci dit, je pense qu'un coup de Google avec
"ADO field AllowZeroLength" ou "ADO field NULL authorized"
devrait donner des résultats.
Mais à mon avis, tu peux essayer de récupérer ton field
dans un vrai objet
field.
Voir alors si il ne propose pas contextuellement ces 2
j'ai essayé sur google et rien trouvé qui puisses m'aider Cordialement JC
-----Message d'origine----- "Jean claude" a écrit
dans le message de
news:6b7a01c49416$40f9f190$
Salut Jean-Marc
Merci pour ta réponse, mais cela ne règle pas mon
probleme,
cat.ActiveConnection = ADOcn ' Ajout de la table Set tbl = New ADOX.Table tbl.Name = TableName tbl.Columns.Append "Num", adInteger
si j'écris tblCcolumns("Num"). la liste déroulante ne me propose pas AllowZeroLength
Vois-tu pourquoi ?
Non je ne vois pas, et je n'ai jamais cherché en fait. Ceci dit, je pense qu'un coup de Google avec "ADO field AllowZeroLength" ou "ADO field NULL authorized" devrait donner des résultats.
Mais à mon avis, tu peux essayer de récupérer ton field
dans un vrai objet
field. Voir alors si il ne propose pas contextuellement ces 2
pptés.
-- Jean-marc
.
Eric
Bonjour Jean-Claude,
Le code ci-dessous crée une table avec 2 champs (IdZone NuméroAuto et un champ Zone Texte 30, dont la propriété Null Interdit est à Non et la propriété Chaine Vide Autorisée à Oui) dans la bd D:Test.mdb.
Les propriétés que tu cherches sont : - Nullable - Jet OLEDB:Allow Zero Length Dans le code, j'ai mis une boucle pour avoir les différentes propriétés d'une colonne.
(Adapter le chemin et le nom de la bd)
Private Sub Command1_Click() Dim cat As New ADOX.Catalog Dim tbl As New ADOX.Table Dim col As New ADOX.Column cat.ActiveConnection = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=D:Test.mdb;" With tbl .Name = "TableCrééeADOX" .Columns.Append "IDZone", adInteger .Columns.Append "Zone", adVarWChar, 30 Set col = tbl.Columns("IdZone") With col Set .ParentCatalog = cat .Properties("AutoIncrement") = True End With Set col = tbl.Columns("Zone") With col Set .ParentCatalog = cat .Properties("Nullable") = True .Properties("Jet OLEDB:Allow Zero Length") = True ' Pour info : boucle donnant les properties d'une column For Each p In col.Properties Debug.Print p.Name Next p End With End With Set col = Nothing cat.Tables.Append tbl Set cat = Nothing End Sub
Dans les références de ton projet, ajoutes la ref Microsoft ADO Ext 2.7 for DDL and Security, si nécessaire.
j'ai essayé sur google et rien trouvé qui puisses m'aider Cordialement JC
Bonjour Jean-Claude,
Le code ci-dessous crée une table avec 2 champs (IdZone NuméroAuto et un
champ Zone Texte 30, dont la propriété Null Interdit est à Non et la
propriété Chaine Vide Autorisée à Oui) dans la bd D:Test.mdb.
Les propriétés que tu cherches sont :
- Nullable
- Jet OLEDB:Allow Zero Length
Dans le code, j'ai mis une boucle pour avoir les différentes propriétés
d'une colonne.
(Adapter le chemin et le nom de la bd)
Private Sub Command1_Click()
Dim cat As New ADOX.Catalog
Dim tbl As New ADOX.Table
Dim col As New ADOX.Column
cat.ActiveConnection = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=D:Test.mdb;"
With tbl
.Name = "TableCrééeADOX"
.Columns.Append "IDZone", adInteger
.Columns.Append "Zone", adVarWChar, 30
Set col = tbl.Columns("IdZone")
With col
Set .ParentCatalog = cat
.Properties("AutoIncrement") = True
End With
Set col = tbl.Columns("Zone")
With col
Set .ParentCatalog = cat
.Properties("Nullable") = True
.Properties("Jet OLEDB:Allow Zero Length") = True
' Pour info : boucle donnant les properties d'une column
For Each p In col.Properties
Debug.Print p.Name
Next p
End With
End With
Set col = Nothing
cat.Tables.Append tbl
Set cat = Nothing
End Sub
Dans les références de ton projet, ajoutes la ref Microsoft ADO Ext 2.7 for
DDL and Security, si nécessaire.
Le code ci-dessous crée une table avec 2 champs (IdZone NuméroAuto et un champ Zone Texte 30, dont la propriété Null Interdit est à Non et la propriété Chaine Vide Autorisée à Oui) dans la bd D:Test.mdb.
Les propriétés que tu cherches sont : - Nullable - Jet OLEDB:Allow Zero Length Dans le code, j'ai mis une boucle pour avoir les différentes propriétés d'une colonne.
(Adapter le chemin et le nom de la bd)
Private Sub Command1_Click() Dim cat As New ADOX.Catalog Dim tbl As New ADOX.Table Dim col As New ADOX.Column cat.ActiveConnection = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=D:Test.mdb;" With tbl .Name = "TableCrééeADOX" .Columns.Append "IDZone", adInteger .Columns.Append "Zone", adVarWChar, 30 Set col = tbl.Columns("IdZone") With col Set .ParentCatalog = cat .Properties("AutoIncrement") = True End With Set col = tbl.Columns("Zone") With col Set .ParentCatalog = cat .Properties("Nullable") = True .Properties("Jet OLEDB:Allow Zero Length") = True ' Pour info : boucle donnant les properties d'une column For Each p In col.Properties Debug.Print p.Name Next p End With End With Set col = Nothing cat.Tables.Append tbl Set cat = Nothing End Sub
Dans les références de ton projet, ajoutes la ref Microsoft ADO Ext 2.7 for DDL and Security, si nécessaire.
j'ai essayé sur google et rien trouvé qui puisses m'aider Cordialement JC
JCM
Bonjour Eric
Merci pour ta réponse, cela règle un problème qui m'a fait perdre beaucoup de temps
Cordialement Jean Claude
-----Message d'origine----- Bonjour Jean-Claude,
Le code ci-dessous crée une table avec 2 champs (IdZone
NuméroAuto et un
champ Zone Texte 30, dont la propriété Null Interdit est
à Non et la
propriété Chaine Vide Autorisée à Oui) dans la bd
D:Test.mdb.
Les propriétés que tu cherches sont : - Nullable - Jet OLEDB:Allow Zero Length Dans le code, j'ai mis une boucle pour avoir les
différentes propriétés
d'une colonne.
(Adapter le chemin et le nom de la bd)
Private Sub Command1_Click() Dim cat As New ADOX.Catalog Dim tbl As New ADOX.Table Dim col As New ADOX.Column cat.ActiveConnection = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=D:Test.mdb;" With tbl .Name = "TableCrééeADOX" .Columns.Append "IDZone", adInteger .Columns.Append "Zone", adVarWChar, 30 Set col = tbl.Columns("IdZone") With col Set .ParentCatalog = cat .Properties("AutoIncrement") = True End With Set col = tbl.Columns("Zone") With col Set .ParentCatalog = cat .Properties("Nullable") = True .Properties("Jet OLEDB:Allow Zero Length") = True ' Pour info : boucle donnant les properties d'une
column
For Each p In col.Properties Debug.Print p.Name Next p End With End With Set col = Nothing cat.Tables.Append tbl Set cat = Nothing End Sub
Dans les références de ton projet, ajoutes la ref
Microsoft ADO Ext 2.7 for
DDL and Security, si nécessaire.
Espérant que ca résolve ton problème,
A+ Eric
"Jean claude" écrivait
news:04c601c4949f
$23459490$:
Salut
j'ai essayé sur google et rien trouvé qui puisses
m'aider
Cordialement JC
.
Bonjour Eric
Merci pour ta réponse, cela règle un problème qui m'a fait
perdre beaucoup de temps
Cordialement
Jean Claude
-----Message d'origine-----
Bonjour Jean-Claude,
Le code ci-dessous crée une table avec 2 champs (IdZone
NuméroAuto et un
champ Zone Texte 30, dont la propriété Null Interdit est
à Non et la
propriété Chaine Vide Autorisée à Oui) dans la bd
D:Test.mdb.
Les propriétés que tu cherches sont :
- Nullable
- Jet OLEDB:Allow Zero Length
Dans le code, j'ai mis une boucle pour avoir les
différentes propriétés
d'une colonne.
(Adapter le chemin et le nom de la bd)
Private Sub Command1_Click()
Dim cat As New ADOX.Catalog
Dim tbl As New ADOX.Table
Dim col As New ADOX.Column
cat.ActiveConnection = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=D:Test.mdb;"
With tbl
.Name = "TableCrééeADOX"
.Columns.Append "IDZone", adInteger
.Columns.Append "Zone", adVarWChar, 30
Set col = tbl.Columns("IdZone")
With col
Set .ParentCatalog = cat
.Properties("AutoIncrement") = True
End With
Set col = tbl.Columns("Zone")
With col
Set .ParentCatalog = cat
.Properties("Nullable") = True
.Properties("Jet OLEDB:Allow Zero Length") = True
' Pour info : boucle donnant les properties d'une
column
For Each p In col.Properties
Debug.Print p.Name
Next p
End With
End With
Set col = Nothing
cat.Tables.Append tbl
Set cat = Nothing
End Sub
Merci pour ta réponse, cela règle un problème qui m'a fait perdre beaucoup de temps
Cordialement Jean Claude
-----Message d'origine----- Bonjour Jean-Claude,
Le code ci-dessous crée une table avec 2 champs (IdZone
NuméroAuto et un
champ Zone Texte 30, dont la propriété Null Interdit est
à Non et la
propriété Chaine Vide Autorisée à Oui) dans la bd
D:Test.mdb.
Les propriétés que tu cherches sont : - Nullable - Jet OLEDB:Allow Zero Length Dans le code, j'ai mis une boucle pour avoir les
différentes propriétés
d'une colonne.
(Adapter le chemin et le nom de la bd)
Private Sub Command1_Click() Dim cat As New ADOX.Catalog Dim tbl As New ADOX.Table Dim col As New ADOX.Column cat.ActiveConnection = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=D:Test.mdb;" With tbl .Name = "TableCrééeADOX" .Columns.Append "IDZone", adInteger .Columns.Append "Zone", adVarWChar, 30 Set col = tbl.Columns("IdZone") With col Set .ParentCatalog = cat .Properties("AutoIncrement") = True End With Set col = tbl.Columns("Zone") With col Set .ParentCatalog = cat .Properties("Nullable") = True .Properties("Jet OLEDB:Allow Zero Length") = True ' Pour info : boucle donnant les properties d'une
column
For Each p In col.Properties Debug.Print p.Name Next p End With End With Set col = Nothing cat.Tables.Append tbl Set cat = Nothing End Sub