Champs à zéro = bouton à Enabled = False

Résolu
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 - 14 mai 2010 à 21:45
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 - 16 mai 2010 à 10:22
bonsoir
dans ma base j'ai plusieurs tables et dans une table j'ai un champ avec comme type de donée "oui/non".
dans une form j'ai un bouton,comment mettre se bouton à Enabled = False quand se champ est à zéro.
merci
@ plus
petchy

11 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
15 mai 2010 à 18:55
Au fait, dans ta requête, tu charges la table entière.
Il y a donc plusieurs champs dans le RecordSet.
Lequel choisis-tu ?
Parce que là, c'est le premier de la liste qui est pris en compte.
Bizarre, ton truc.
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
15 mai 2010 à 02:11
Salut
En réalité, les Booléens de VB6 sont des Integer :
0 pour False
-1 pour True, ou n'importe quelle autre valeur que 0
Donc, en lisant ta donnée, tu peux très bien aider VB en faisant une simple conversion :
monBouton.Enabled = CBool(monRecordSet.Fields("monChampOuiNon").Value)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
15 mai 2010 à 02:14
0 --> Hexa : 0000 = Tous les bits à zéro
-1 --> Hexa : FFFF = Tous les bits à un
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
15 mai 2010 à 07:55
Re
super,merci Jack
c'est nickel
bon week-end
@ plus
petchy
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
15 mai 2010 à 08:35
oups,un petit probleme.
le code fonctionne bien sur la première données dans ma table,le probleme c'est que j'ai plus de 300 données,et si la première données le champ oui/non est à zéro et que le second ou le 100 est à 1 le bouton reste à false.
comment faire pour controle tous le champ
merci
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
15 mai 2010 à 11:38
Sans savoir quel code tu utilises pour lire tes données et appliquer cette conversion, difficile de te répondre.
Il est aussi possible que, à la relecture de ton champ Oui/Non, tu récupères le texte "Oui" ou le texte "Non" : Ça arrive avec les applications régionalisées.
Il n'y a que toi pour le dire.
Dis nous donc ce que renvoie ton champ, on verra les solutions après.

PS : Si tu colles du code (pas trop long, hein), utilise la coloration syntaxique = 3ème icône à droite.
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
15 mai 2010 à 11:46
Si le champ renvoie "Oui" ou "Non", une solution :
monBouton.Enabled = IIf( _
      StrComp(monRecordSet.Fields("monChampOuiNon").Value, "Oui", vbTextCompare) = 0, _
      True, _
      False)
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
15 mai 2010 à 16:55
bonjour
voila le code pour récupéré la donnée du champ,
Set rs = New ADODB.Recordset
'Ouverture et remplissage du recordset
 rs.Open "centre_aéré", Db, adOpenDynamic, adLockOptimistic
cd1.Enabled = IIf( _
      StrComp(rs.Fields("present").Value, "oui", vbTextCompare) = 0, _
      True, _
      False)

mais ça ne fonctionne pas,j'ai tester le retour de la valeur du champ dans un textbox et ça me renvoi faux,alors que la seconde donnée le champ est vrai (coché)
j'ai meme essayer ça,je ne sait pas si c'est bon
While Not rs.EOF
 Text3.Text = rs![present]
 rs.MoveNext
 Wend

petchy
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
15 mai 2010 à 18:52
Si la valeur lue dans ton champ est False ou True, pas de difficulté : Tu peux affecter le .Enabled à la .Value du champ.
Si tu dis que cela ne fonctionne pas, c'est qu'il y a un autre problème.
Pense à utiliser F9 et F8 pour déboguer.
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
15 mai 2010 à 21:52
bonsoir
en fait je charge la table "centre_aéré" et dans cette table il y a plusieurs champ mais le champ dui m'interesse est le champ "present",peut etre qu'au niveau de mon chargement je m'y prends mal.
comment fait on pour récupérer tous les champs
pourrais tu m'éclairer
merci
petchy
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
16 mai 2010 à 10:22
bonjour
j'ai trouver une parade pour récupérer l'info
j'ai creer une requete avec un champ total
ensuite dans ma form je récupere la donnée dans un textbox
si le chiffre dans le textbox est sup à 0 alors le bouton est à true sinon il est à false.
ça fonctionne comme ça,donc c'est bon.
merci encore Jack pour ton coup de main
bon dimanche
@ plus
petchy
0
Rejoignez-nous