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

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gloops
Le #6381601
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.

Gloops
Le #6381591
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.

Publicité
Poster une réponse
Anonyme