URGENT :Comment retrouver une valeur dans une enumeration ?

Signaler
Messages postés
32
Date d'inscription
vendredi 3 mai 2002
Statut
Membre
Dernière intervention
3 juin 2003
-
Messages postés
33
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
11 décembre 2002
-
Bonjour,

Je vous sollicite encore une fois pour un gros problème..qui je l'espère n'en ai pas un !!!

Problème : Je recherche pour chaque colonne d'une table si celle ci accepte ou non les valeurs nulles.
Le modèle d'accès aux données utilisé est ADO.
L'information que je recherche est contenue dans la propriété Attributes de l'objet Field.
La propriété Attributes est l'addition de 0 ou plusieurs constantes dont voici la liste :

adFldMayBeNull = 64
adFldUpdatable = 4
adFldUnknownUpdatable = 8
adFldMayDefer = 2
adFldFixed = 16
adFldIsNullable = 32
adFldLong = 128
adFldRowID = 256
adFldRowVersion = 512
adFldCacheDeferred = 4096

Il me faut retrouver si dans cette addition se trouve la valeur 32.

Pour atteindre cet objet pour chaque colonne, j'effectue les taches suivantes :

        rs.ActiveConnection = cxConnexion
        rs.CursorType = adOpenStatic
        rs.Open "SELECT * FROM MATABLE"
        For j = 0 To rs.Fields.Count - 1
           msgbox rs.Fields(j).attributes 
 ' C dans cette propriété que se trouve la valeur 32  si mon champs accepte les valeurs nulles !
' mais comment le trouver ????
        Next j
        rs.Close


Comment faire pour trouver si mon champs a bien l'attribut adFidIsNullable ????

Merci d'avance.

3 réponses

Messages postés
59
Date d'inscription
vendredi 26 juillet 2002
Statut
Membre
Dernière intervention
29 janvier 2004

Il me semble que les sommes de ces valeurs qui contiennent 32 soient finies mais pour les connaitre toutes, je ne sais pas comment faire. Par contre tu peux accéder à cette propriété par un objet Property, soit : rs.Fields(j).Properties("Required") . Renvoie vrai ou faux.
0
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
23
je comprends pas le probleme ...

essaye çà je ne promets rien :

for each attrib in rs.Fields(j).attributes
if attrib=adFldIsNullable then
blnTrouve=true
exit for
end if
next

|The S@ib|
VBP2P project
0
Messages postés
33
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
11 décembre 2002

Tu as essayé avec

MsgBox rs.Fields(j).attributes("adFldIsNullable") ?
0