Lorsque je crée, via VBA, une table dans les objets ADOX j'utilise les
méthodes et objects 'Colonnes'.
La commande est du style : A_Tab.Columns.Append I_Field, adVarWChar,
I_Lenght
La création de la table avec ces différents champs se passe bien.
Mais, et oui il y a un 'mais', comment puis-je faire pour modifier les
propriétés de ces champs ?
Par exemple je voudrais modifier la propriété "null interdit" qui est mise
par défaut à "oui".
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Benoit Compoint [MS]
Bonjour,
Les objets de la classe ADOX.Column possèdent (dans leur collection Properties) la propriété "Nullable". Malheureusement cette propriété est accessible uniquement en lecture. Vous ne pouvez pas donc fixer cette propriété Nullable à True.
Vous pouvez cependant autoriser la valeur Null pour les champs que vous créer via ADOX en utilisant la propriété Attributes d'un objet de la classe ADOX.Column et la constante prédéfinie ADOX.adColNullable. Vous pouvez ainsi fixer indirectement la propriété Nullable à True.
Exemple de procédure VBA :
Sub Test Dim Cat As New ADOX.Catalog Dim Col As New ADOX.Column Cat.ActiveConnection = CurrentProject.Connection Col.Name = I_Field Col.Type = ADOX.adVarWChar Col.DefinedSize = I_Lenght Col.Attributes = ADOX.adColNullable Cat.Tables("Table1").Columns.Append Col MsgBox Cat.Tables("Table1").Columns( I_Field).Properties!nullable End Sub
Benoît Compoint
"news.skynet.be" wrote in message news:3ff54815$0$2446$
Bonjour à Tous et bonne année.
Lorsque je crée, via VBA, une table dans les objets ADOX j'utilise les méthodes et objects 'Colonnes'. La commande est du style : A_Tab.Columns.Append I_Field, adVarWChar, I_Lenght La création de la table avec ces différents champs se passe bien. Mais, et oui il y a un 'mais', comment puis-je faire pour modifier les propriétés de ces champs ? Par exemple je voudrais modifier la propriété "null interdit" qui est mise par défaut à "oui".
Merci
Michel
Bonjour,
Les objets de la classe ADOX.Column possèdent (dans leur collection
Properties) la propriété "Nullable".
Malheureusement cette propriété est accessible uniquement en lecture.
Vous ne pouvez pas donc fixer cette propriété Nullable à True.
Vous pouvez cependant autoriser la valeur Null pour les champs que vous
créer via ADOX en utilisant la propriété Attributes d'un objet de la classe
ADOX.Column et la constante prédéfinie ADOX.adColNullable.
Vous pouvez ainsi fixer indirectement la propriété Nullable à True.
Exemple de procédure VBA :
Sub Test
Dim Cat As New ADOX.Catalog
Dim Col As New ADOX.Column
Cat.ActiveConnection = CurrentProject.Connection
Col.Name = I_Field
Col.Type = ADOX.adVarWChar
Col.DefinedSize = I_Lenght
Col.Attributes = ADOX.adColNullable
Cat.Tables("Table1").Columns.Append Col
MsgBox Cat.Tables("Table1").Columns( I_Field).Properties!nullable
End Sub
Benoît Compoint
"news.skynet.be" <a@a.a> wrote in message
news:3ff54815$0$2446$ba620e4c@news.skynet.be...
Bonjour à Tous et bonne année.
Lorsque je crée, via VBA, une table dans les objets ADOX j'utilise les
méthodes et objects 'Colonnes'.
La commande est du style : A_Tab.Columns.Append I_Field, adVarWChar,
I_Lenght
La création de la table avec ces différents champs se passe bien.
Mais, et oui il y a un 'mais', comment puis-je faire pour modifier les
propriétés de ces champs ?
Par exemple je voudrais modifier la propriété "null interdit" qui est mise
par défaut à "oui".
Les objets de la classe ADOX.Column possèdent (dans leur collection Properties) la propriété "Nullable". Malheureusement cette propriété est accessible uniquement en lecture. Vous ne pouvez pas donc fixer cette propriété Nullable à True.
Vous pouvez cependant autoriser la valeur Null pour les champs que vous créer via ADOX en utilisant la propriété Attributes d'un objet de la classe ADOX.Column et la constante prédéfinie ADOX.adColNullable. Vous pouvez ainsi fixer indirectement la propriété Nullable à True.
Exemple de procédure VBA :
Sub Test Dim Cat As New ADOX.Catalog Dim Col As New ADOX.Column Cat.ActiveConnection = CurrentProject.Connection Col.Name = I_Field Col.Type = ADOX.adVarWChar Col.DefinedSize = I_Lenght Col.Attributes = ADOX.adColNullable Cat.Tables("Table1").Columns.Append Col MsgBox Cat.Tables("Table1").Columns( I_Field).Properties!nullable End Sub
Benoît Compoint
"news.skynet.be" wrote in message news:3ff54815$0$2446$
Bonjour à Tous et bonne année.
Lorsque je crée, via VBA, une table dans les objets ADOX j'utilise les méthodes et objects 'Colonnes'. La commande est du style : A_Tab.Columns.Append I_Field, adVarWChar, I_Lenght La création de la table avec ces différents champs se passe bien. Mais, et oui il y a un 'mais', comment puis-je faire pour modifier les propriétés de ces champs ? Par exemple je voudrais modifier la propriété "null interdit" qui est mise par défaut à "oui".