Rendre (in)Visible une zone [VBA - ACCESS] - VB/VBA/VBS - Programmation
Marsh Posté le 04-10-2007 à 12:44:47
Bonjour,
si la liste donne OUI compare à "OUI" et non pas à "oui"
pourquoi ne pas le mettre sur un évènement de VISIBLE? (change ou after_update)
Cordialement
Marsh Posté le 04-10-2007 à 13:16:18
seniorpapou a écrit : Bonjour, |
J'ai effectué la correction de suite.
Je n'avais pas pensé à respecter la casse.
Par contre toujours coincé quand même.
En mettant ceci,
If Me.VISIBLE= "Oui" Then
Me.TEXTE.Visible = True
Else
Me.TEXTE.Visible = False
End If
Que la réponse soit " Oui" ou "Non" il me rend "TEXTE" visible.
Marsh Posté le 04-10-2007 à 13:56:30
Tu mets un point d'arrêt (F9) sur le If et quand tu exécutes tu regardes la valeur de tes variables pour comprendre d'où vient le problème.
Marsh Posté le 04-10-2007 à 14:18:42
je suis dans vba, je met un point d'arret.
Mais après comment j'execute le code ?
Marsh Posté le 04-10-2007 à 15:31:15
Bonsoir,
Une petite remarque en passant, qui ne répondra probablement pas à ta question:
Visible est une propriété de Me, il est donc conseillé de donner un autre nom à ta zone de liste.
Cordialement
Marsh Posté le 04-10-2007 à 15:42:17
En fait j'ai mis VISIBLE , TEXTE etc ... ici
Mais il faut compendre qu'en fait j'utilise d'autre nom.
J'ai mis çà juste pour la ( ma ) compréhension.
Marsh Posté le 04-10-2007 à 16:25:32
>nelior : ton code s'exécute généralement en lançant le formulaire.
Marsh Posté le 05-10-2007 à 10:47:11
après le point d'arrêt, progresse en pas à pas (f8) pour savoir si tu rentres ou non dans la boucle if
Marsh Posté le 05-10-2007 à 13:57:01
Quand je fais çà il ne se passe rien.
Je rajoute bien le point d'arrêt, mais après, le pas à pas ne fonctionne pas.
Marsh Posté le 05-10-2007 à 14:26:44
Ben rien ne se passe.
Ai je un module a activer dans Visual basic .?
Marsh Posté le 05-10-2007 à 14:44:58
absolument pas, si tu ne passes pas par le point d'arrêt, c'est que tu n'as pas mis le code au bon endroit...
Marsh Posté le 05-10-2007 à 15:34:19
Je suis sincèrement désolé mais j'en suis là:
http://img299.imageshack.us/my.php [...] pashq2.jpg
Marsh Posté le 05-10-2007 à 15:53:02
Comme c'est cbo_dang est une zone de liste.
l'évènement sur changement n'existe pas.
j'ai bien remplacé dasn VB Afterupdate par change.
Aucun résultat.
Marsh Posté le 05-10-2007 à 16:35:35
Dans access voici, les évènement que je peux faire avec une listox:
http://g.imageshack.us/g.php?h=525 [...] angjg0.jpg
Marsh Posté le 05-10-2007 à 16:59:44
bon et donc quand tu modifies la valeur de la list_box, ton code se lance pas pour s'arrêter à la ligne een question ?
Marsh Posté le 05-10-2007 à 17:09:38
tu peux mettre ton fichier sur cjoint, qu'on puisse y jeter un oeil, ca me parait bizarre.
Marsh Posté le 05-10-2007 à 17:22:50
Justement, je m'y préparais à le transmettre.
voici donc le lien:
http://cjoint.com/?kfrwPiTIcv
Marsh Posté le 05-10-2007 à 21:23:12
bon y a plein de truc qui tourne pas chez moi... la liste cbo_dang, elle va prendre des valeurs quelque part ?
faut ajouter .value sinon ca peut pas trouver le "oui"...
Marsh Posté le 05-10-2007 à 22:10:32
Bonsoir,
pour que les points d'arrèt soient pris en compte:
Menu Outils/Démarrage, la case utiliser les touches spéciales d'accès doit être cochée.
tu coches, tu fermes ton appli et tu réouvres
Cordialement
Marsh Posté le 06-10-2007 à 07:46:37
Bonjour,
un peu tiré par le cheveux, mais je crois que cela correspond à ce que tu veux faire
http://cjoint.com/?kghUyxj80u
Cordialement
Marsh Posté le 08-10-2007 à 09:20:00
Bonjour,
Je ne sais quoi dire merci merci.
C'est sublimissimement trop fort.
J'étais passé par le .value. Cela n'avait pas marché.
Ce que je ne comprends pas c'est pourquoi je bloquais !
Heureusement que vous m'avez aidé, c'est des trucs comme çà bête et méchant qui me décourage.
Merci encore.
Marsh Posté le 08-10-2007 à 11:31:53
Alors j'ai mis les modification comme il a été fait.
Or dans cbo_dang, j'obtiens comme valeur la même chose que dans cbo_dechet.
Et par adéquation, la zone texte cbo_bsddechet devient toujours invisible.
Puis-je avoir des explications sur les modifications apportées.
Merci.
Marsh Posté le 08-10-2007 à 13:17:51
Bonjour,
As-tu regardé dans cbo_dechet: contenu requête changée,
Nombre de colonnes
largeur de colonne
cbo_dang est une zone de texte
J'ai mis le:
Private Sub cbo_dechet_AfterUpdate()
'MsgBox cbo_dechet.Value & " " & cbo_dechet.Text
Forms!frm_at_enr!cbo_codedechet = Null
Forms!frm_at_enr!cbo_codedechet.Requery
Forms!frm_at_enr!cbo_dang = cbo_dechet.Value
If Me.cbo_dang = "Oui" Then
Me.cbo_bsddechet.Visible = True
Else
Me.cbo_bsddechet.Visible = False
End If
End Sub
et retiré tous les :
If Me.cbo_dang = "Oui" Then
Me.cbo_bsddechet.Visible = True
Else
Me.cbo_bsddechet.Visible = False
End If
qui étaient ailleurs
En gros c'est tout
Bonne journée
Marsh Posté le 08-10-2007 à 13:26:39
Pourtant niveau des modif j'ai bien compri çà.
Mais quand je le reporte sur ma Base.
le cbo_dang est ok mais cbo_codedechet ne donne plus rien.
Ainsi que cbo_coll et cbo_destin ne donne plus des résultat en conséquence du choix de cbo_dechet ( pour cbo_coll ) et cbo_coll (pour cbo_destin ).
Marsh Posté le 08-10-2007 à 13:33:11
Renvoi le fichier stp
Il y a cela aussi:
Private Sub Form_Activate()
Me.cbo_dechet.SetFocus
On Error Resume Next
Me.cbo_dechet.Text = "--Sélectionnez le déchet--"
On Error GoTo 0
Me.cbo_dang = ""
End Sub
regarde dans les selects des champs concernés , il faut mettre cbo_dechet.text.(ce que je n'avais pas fait). La valeur affichée dans la fenêtre cbo_dechet se trouve dans cbo_dechet.text
la valeur oui ou non associée se trouve, elle dans cbo_dechet.value
si tu ne précises pas , par défaut on prend le contenue de .value
Si tu réussis à corriger ce n'est pas la peine de renvoyer le mdb
Marsh Posté le 08-10-2007 à 14:24:12
Heu, je vais peut-être dire une connerie mais :
Code :
|
n'est pas une propriété du formulaire ? Auquel cas, Me.Visible renvoie la valeur de la propriété 'Visible' du formulaire, et non la valeur du champs 'VISIBLE' !
Avec quelque chose comme
Code :
|
Ca n'irait pas mieux ?
NB: j'avoue : je n'ai pas lu l'intégralité du topic ! Du coup, en lisant les derniers posts, j'ai un peu l'impression d'être à côté de la plaque
Marsh Posté le 17-10-2007 à 09:29:39
seniorpapou a écrit : Bonjour, |
bonjour,
je reviens aubout de quelque jours.
Je n'ai pas eu le temps de trop approfondir, j'étais pris par des choses plus urgente.
Quoi qu'il en soit, les combo box : cbo_coll et cbo_destin donnent tout les choix possible au lieu de choix en adéquation avec le précédent ( cbo_dechet pour cbo_coll, et cbo_coll pour cbo_destin ).
Ce qui pause un problème après dans la rentrée d'information.
Il suffit que l'utilisateur se trompe dans la liste.
J'ai regardé pourtant les liens au niveau des données/contenu sont bonne ainsi que dans évènements/ après MAJ.
Je ne comprends pas.
Estce que la modification effectué par vous ,aurait bloqué ou changé quelquechsoe dans ce processus.
Marsh Posté le 17-10-2007 à 10:14:32
Bonjour,
regarde mon dernier post du 8/10 à 13h33
il précise que je n'avais pas regardé l'influence du changement sur les autres champs.
stp envoie ton fichier , je vais regarder
Cordialement
Marsh Posté le 17-10-2007 à 11:00:08
Voici le lien
http://www.send-large-file.com/tel [...] c17c4b7fe1
Merci encore pour votre aide
Marsh Posté le 17-10-2007 à 12:05:24
Re,
Dans les propriétés de cbo_codedechet, tu remplaces la propriété contenu par:
SELECT tbl_at_dechet.code_nomenclature FROM tbl_at_dechet GROUP BY tbl_at_dechet.code_nomenclature, tbl_at_dechet.dechet HAVING (((tbl_at_dechet.dechet)=Formulaires!frm_at_enr!cbo_dechet.text)) ORDER BY tbl_at_dechet.code_nomenclature;
cordialement
Marsh Posté le 17-10-2007 à 12:22:15
re,re,
j'ai regardé partout et je n'ai pas trouvé l'endroit où tu sélectionnes les données pour cbo_coll en fonction de de cbo_dechet
Marsh Posté le 17-10-2007 à 12:31:52
J'ai effectué la correction.
Cela n'a rien changé.
Le code nomenclature reste vide.
ainsi que les autre cbo ne change pas.
Je pense que le problème provient du faite que dans cbo_dechet cest la 2eme colonne qui est lié, ce qui empèche cbo_codedechet de se mettre à jour.
vu que cbo_dechet retourne comme velaure oui un non.
cbo_codedechet attend comme valeur le nom du dechet.
Marsh Posté le 17-10-2007 à 13:11:53
voici le code qui modifie la nomenclature:
attention!!! je n'ai pas changé le nom du mdb
http://cjoint.com/?krnldR50jw
Si tu peux me préciser à quel endroit tu définis coll en fonction de dechet cela m'arrangerait
Cordialement
Marsh Posté le 04-10-2007 à 12:36:16
Bonjour,
Je me creuse la tête depuis un moment pour rendre visible une zone de texte dans un formulaire.
Cette zone de texte doit être visible par rapport à une valeur spécifique contenue dans une zone de liste ( préalablement filtrée) ne contenant qu'une réponse.
Pour la compréhension, la Zone de liste " VISIBLE "donne comme réponse " OUI " ou " NON ".
SI dans VISIBLE, on obtient NON alors la zone de texte " TEXTE " devient invisible( et par conséquent on ne peut plus y inscrire du texte ).
j'ai fais ceci:
If Me.VISIBLE= "oui" Then
Me.TEXTE.Visible = True
Else
Me.TEXTE.Visible = False
End If
Or ceci ne fonctionne pas.
Cela reste toujours visible.
Et si je met:
If Me.VISIBLE= "non" Then
Me.TEXTE.Visible = False
Else
Me.TEXTE.Visible = True
End If
cela reste toujour invisible.
Je l'ai mis sur Evenement en click dans " TEXTE ".
Merci pour votre aide