Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment créer un champ dans une table attachée

2 réponses
Avatar
LLaurent
Bonjour

je voudrais réaliser les deux points suivants en code basic,
au niveau d'une table attachée :

** contrôler l'existence d'un champ
** si le champ n'existe pas, dans ce cas, créer ce champ avec différents
types (texte, numérique, etc...)

Merci d'avance pour vos conseils

2 réponses

Avatar
Gloops
LLaurent a écrit, le 10/11/2007 22:01 :
Bonjour

je voudrais réaliser les deux points suivants en code basic,
au niveau d'une table attachée :

** contrôler l'existence d'un champ


Salut,

J'ignore si il existe mieux, mais en général je parcours les champs d e
la table dans une boucle, et je compare leurs noms au nom recherché. ç a
fait que la fonction qui fait ça, en plus du nom de champ recherché,
doit recevoir la table en argument (ou alors la base et le nom de la tabl e).


** si le champ n'existe pas, dans ce cas, créer ce champ avec diffé rents
types (texte, numérique, etc...)



Le principe est

Dim Fd As Field
Set Fd = Tb.CreateField()
Tb.Fields.Append Tb
Tb.Fields.Refresh

Il faut compléter CreateField après avoir lu l'aide correspondante.
Certaines propriétés du champ ne peuvent être modifiées qu'avant que le
champ ait été ajouté à la table.

Avatar
Gloops
Gloops a écrit, le 10/11/2007 22:12 :
Salut,

J'ignore si il existe mieux, mais en général je parcours les champs de
la table dans une boucle, et je compare leurs noms au nom recherché. ça
fait que la fonction qui fait ça, en plus du nom de champ recherché ,
doit recevoir la table en argument (ou alors la base et le nom de la
table).



Autant pour moi, je fais pareil pour tester l'existence d'un formulaire,
histoire de réutiliser le code que j'ai déjà en stock, mais il me
revient qu'il existe plus grâcieux et probablement plus rapide :

SysCmd(acSysCmdGetObjectState, acForm, chNomForm)

ça dépend aussi de la version d'Access utilisée. A priori j'ai
l'impression que pour un champ il faudrait plus d'arguments (nom de la
table, nom du champ), mais avec les bonnes séparations ...
Là je n'ai que l'aide d'Access 95 sous la main, un coup d'œil à l'a ide
de SysCmd pour la version utilisée peut être utile.