[Microsoft Acces] Probleme activation bouton
Résolu/Fermé
A voir également:
- [Microsoft Acces] Probleme activation bouton
- Microsoft office - Guide
- Clé d'activation windows 10 gratuit - Guide
- Télécharger microsoft office 2010 avec clé d'activation gratuit - Télécharger - Sécurité
- Telecharger microsoft store - Guide
- Désinstaller microsoft edge - Guide
5 réponses
blux
Messages postés
26476
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
17 novembre 2024
3 316
12 janv. 2007 à 09:12
12 janv. 2007 à 09:12
Salut,
il faut que tu testes s'il y a une correspondance, et dans la négative, tu masques ton bouton avec du code...
Ca peut être un test sur changement de "record"...
il faut que tu testes s'il y a une correspondance, et dans la négative, tu masques ton bouton avec du code...
Ca peut être un test sur changement de "record"...
Merci pour ta réponse mais:
Peux-tu me donner plus de précisions car je ne suis pas expert en VisualBasic. Merci
Je voudrais que ce test se fasse à l'ouverture de l'enregistrement dans la formulaire A et, en effet si le test est négatif le bouton reste inactif sur cet enregistrement.
Peux-tu me donner plus de précisions car je ne suis pas expert en VisualBasic. Merci
Je voudrais que ce test se fasse à l'ouverture de l'enregistrement dans la formulaire A et, en effet si le test est négatif le bouton reste inactif sur cet enregistrement.
blux
Messages postés
26476
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
17 novembre 2024
3 316
12 janv. 2007 à 15:07
12 janv. 2007 à 15:07
Salut,
tout d'abord, il faut cacher le bouton à l'ouverture du formulaire et chaque fois qu'on passe d'un enr. à un autre, pour le rendre visible si la condition est vérifiée...
Au niveau du formulaire, dans l'évènement "sur ouverture" et "sur activation" il faut mettre un code de ce genre-là :
La fonction DLookup sert à vérifier si dans la table "Table_B", il existe un enr. dont le champ "NumeroA" est égal à la zone d'affichage du formulaire principal, auquel cas, on renvoie le nombre de "NumeroA"...
Si la fonction DLookup renvoie une valeur Null, alors on garde le bouton masqué...
Ensuite, il faut mettre un code sur le bouton, pour que son appui affiche le sous-formulaire contenant les données de "Table_B" en liaison avec l'enregistrement courant de la Table_A (possible de manière automatique avec un sous-formulaire)...
Ca t'irait ?
tout d'abord, il faut cacher le bouton à l'ouverture du formulaire et chaque fois qu'on passe d'un enr. à un autre, pour le rendre visible si la condition est vérifiée...
Au niveau du formulaire, dans l'évènement "sur ouverture" et "sur activation" il faut mettre un code de ce genre-là :
Bouton.Visible = False Table_B.Visible = False If Not IsNull(DLookup("NumeroA", "Table_B", "NumeroA=Sai_Num_A")) Then Bouton.Visible = True End IfOù "bouton" est le nom du bouton, et "Table_B" est le nom du sous-formulaire qui va s'afficher quand le bouton sera appuyé...
La fonction DLookup sert à vérifier si dans la table "Table_B", il existe un enr. dont le champ "NumeroA" est égal à la zone d'affichage du formulaire principal, auquel cas, on renvoie le nombre de "NumeroA"...
Si la fonction DLookup renvoie une valeur Null, alors on garde le bouton masqué...
Ensuite, il faut mettre un code sur le bouton, pour que son appui affiche le sous-formulaire contenant les données de "Table_B" en liaison avec l'enregistrement courant de la Table_A (possible de manière automatique avec un sous-formulaire)...
Table_B.Visible = TrueOù "Table_B" est le nom du ss-form intégré...
Ca t'irait ?
J'ai donc essayé et voici la procédure que j' ai créé avec tes renseignements.
Private Sub Form_Current()
Commande21886.Visible = False
Formulaire descriptif difference sur enregistrement specifique.Visible = False
If Not IsNull(DLookup("[Timbre correspondant]", "Formulaire descriptif difference sur enregistrement specifique", "[Timbre correspondant]=[Numéro YT]")) Then
Commande21886.Visible = True
End If
End Sub
J'ai un problème avec la troisième ligne.
Erreur compilation
Attendu : Numéro de ligne ou etiquette ou instruction ou fin d'instruction
Donc vu mon niveau de connaissance, je suis perdu !!!!
**************
Je me permet de te donner plus de détail:
En fait j'ouvre un formulaire qui se nomme "Formulaire saisie timbres" et qui contient un champ "Numéro YT" ainsi que le bouton "Commande 21886".
A cet ouverture je veux faire un test dans le champ "Timbre correspondant" d'un autre formulaire qui se nomme "Formulaire descriptif difference sur enregistrement specifique".
Si ce test "Numéro YT"="Timbre correspondant" est positif le bouton "Commande 21886" est actif sinon il est inactif
Private Sub Form_Current()
Commande21886.Visible = False
Formulaire descriptif difference sur enregistrement specifique.Visible = False
If Not IsNull(DLookup("[Timbre correspondant]", "Formulaire descriptif difference sur enregistrement specifique", "[Timbre correspondant]=[Numéro YT]")) Then
Commande21886.Visible = True
End If
End Sub
J'ai un problème avec la troisième ligne.
Erreur compilation
Attendu : Numéro de ligne ou etiquette ou instruction ou fin d'instruction
Donc vu mon niveau de connaissance, je suis perdu !!!!
**************
Je me permet de te donner plus de détail:
En fait j'ouvre un formulaire qui se nomme "Formulaire saisie timbres" et qui contient un champ "Numéro YT" ainsi que le bouton "Commande 21886".
A cet ouverture je veux faire un test dans le champ "Timbre correspondant" d'un autre formulaire qui se nomme "Formulaire descriptif difference sur enregistrement specifique".
Si ce test "Numéro YT"="Timbre correspondant" est positif le bouton "Commande 21886" est actif sinon il est inactif
blux
Messages postés
26476
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
17 novembre 2024
3 316
13 janv. 2007 à 15:06
13 janv. 2007 à 15:06
Dans ACCESS, quand un nom d'objet contient des espaces, il faut le mettre entre crochets :
[Formulaire descriptif difference sur enregistrement specifique].Visible = FalseEt partout ailleurs...
Bonjour
Je voudrais mettre le focus sur un objet d’un sous formulaire lui-même situé dans un sous formulaire !
J’ai utilisé le code suivant :
Me.[NomSousFormulaire]![NomSousSousFormulaire].Form![MaZoneDeText].SetFocus
Mais il ne fonctionne pas
Merci
Je voudrais mettre le focus sur un objet d’un sous formulaire lui-même situé dans un sous formulaire !
J’ai utilisé le code suivant :
Me.[NomSousFormulaire]![NomSousSousFormulaire].Form![MaZoneDeText].SetFocus
Mais il ne fonctionne pas
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Je voudrais mettre le focus sur un objet d’un sous formulaire lui-même situé dans un sous formulaire !
J’ai utilisé le code suivant :
Me.[NomSousFormulaire]![NomSousSousFormulaire].Form![MaZoneDeText].SetFocus
Mais il ne fonctionne pas
Merci
Je voudrais mettre le focus sur un objet d’un sous formulaire lui-même situé dans un sous formulaire !
J’ai utilisé le code suivant :
Me.[NomSousFormulaire]![NomSousSousFormulaire].Form![MaZoneDeText].SetFocus
Mais il ne fonctionne pas
Merci
Bonsoir
j’ai résolu le problème : il faut mettre le focus sur le premier sous formulaire puis sur le sous-sous-formulaire puis sur l’objet en question.
Forms![Formulaire]![Sous-Formulaire].SetFocus
Forms![Formulaire]![Sous-Formulaire]![Sous-sous-Formulaire].SetFocus
Forms![Formulaire]![Sous-Formulaire]![Sous-sous-Formulaire]![Objet].SetFocus
Je vousdrais acteullement n’imprimer un Etat que si cet objet est rempli !
Merci
j’ai résolu le problème : il faut mettre le focus sur le premier sous formulaire puis sur le sous-sous-formulaire puis sur l’objet en question.
Forms![Formulaire]![Sous-Formulaire].SetFocus
Forms![Formulaire]![Sous-Formulaire]![Sous-sous-Formulaire].SetFocus
Forms![Formulaire]![Sous-Formulaire]![Sous-sous-Formulaire]![Objet].SetFocus
Je vousdrais acteullement n’imprimer un Etat que si cet objet est rempli !
Merci