Macro sous MS ACCESS 2003
Résolu
marcbaertschi
Messages postés
24
Date d'inscription
Statut
Membre
Dernière intervention
-
marcbaertschi -
marcbaertschi -
Bonjour à tous,
Je suis au boulot et dois modifié une BDD sous access 2003,
J'ai besoin de faire une macro qui récupère la valeur d'une liste déroulante qui se situe dans un formulaire et qui va mettre cette valeur dans le critère d'un requête utilisée pour afficher un état par nom.
J'ai donc utilisé l'action DéfinirValeur et comme expression j'ai mis: [QryEtatTravauxParImmeuble]![NOM]=[Formulaires]![FrmListeChoixImmeuble]![Modifiable1]![NOM]
QryEtat... = La requête
NOM = Nom de l'immeuble
FrmListeChoixImmeuble = Mon form où se trouve la liste déroulante
Modifiable1 = ma liste déroulante
MAIS:
Le problème vient (je le sais très bien) dans cette expression ci-dessus. Je n'ai aucune idée de l'expression à mettre car ça faisait longtemps que je ne touchais plus à ACCESS et je n'ai pas envie de faire ça en VBA.
Pouvez-vous m'aider à trouver cette "Expression" dont j'ai cruellement besoin?
J'attend vos réponses!
D'avance merci!
Je suis au boulot et dois modifié une BDD sous access 2003,
J'ai besoin de faire une macro qui récupère la valeur d'une liste déroulante qui se situe dans un formulaire et qui va mettre cette valeur dans le critère d'un requête utilisée pour afficher un état par nom.
J'ai donc utilisé l'action DéfinirValeur et comme expression j'ai mis: [QryEtatTravauxParImmeuble]![NOM]=[Formulaires]![FrmListeChoixImmeuble]![Modifiable1]![NOM]
QryEtat... = La requête
NOM = Nom de l'immeuble
FrmListeChoixImmeuble = Mon form où se trouve la liste déroulante
Modifiable1 = ma liste déroulante
MAIS:
Le problème vient (je le sais très bien) dans cette expression ci-dessus. Je n'ai aucune idée de l'expression à mettre car ça faisait longtemps que je ne touchais plus à ACCESS et je n'ai pas envie de faire ça en VBA.
Pouvez-vous m'aider à trouver cette "Expression" dont j'ai cruellement besoin?
J'attend vos réponses!
D'avance merci!
A voir également:
- Macro sous MS ACCESS 2003
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Office 2003 - Télécharger - Bureautique
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Acer quick access ✓ - Forum PC portable
10 réponses
Dans ta requête, tu mets un critère sur le champ concerné:
Forms!NomDuFormulaire!NomDeLaListe Modifiable.
Tu peux faire un clic droit et choisir "Créer" si tu veux être sûr de ne pas faire d'erreur de syntaxe...
Forms!NomDuFormulaire!NomDeLaListe Modifiable.
Tu peux faire un clic droit et choisir "Créer" si tu veux être sûr de ne pas faire d'erreur de syntaxe...
Dans ta requête, tu mets un critère sur le champ concerné:
Forms!NomDuFormulaire!NomDeLaListe Modifiable.
"Ok c'est fait, mais ça ne marche pas.
Est-ce que je dois quand même passer par la requête? "
On a du mal se comprendre. Oui, tu dois "passer par la requête"...
Forms!NomDuFormulaire!NomDeLaListe Modifiable.
"Ok c'est fait, mais ça ne marche pas.
Est-ce que je dois quand même passer par la requête? "
On a du mal se comprendre. Oui, tu dois "passer par la requête"...
Non, pas de macro.
Dans ton formulaire, tu choisis l'immeuble, et tu lances la requête qui elle-même contient un critère faisant référence à ce choix d'immeuble!
Dans ton formulaire, tu choisis l'immeuble, et tu lances la requête qui elle-même contient un critère faisant référence à ce choix d'immeuble!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tu cliques sur le bouton générateur (3 points) qui se trouve à droite de la flêche te donnant accès aux macros.
Tu choisis "générateur de code"
Et entre le Sub et le End sub tu écris DoCmd.OpenQuery ("NomDeTaRequête")
Tu choisis "générateur de code"
Et entre le Sub et le End sub tu écris DoCmd.OpenQuery ("NomDeTaRequête")
Tes deux posts se contredisent, merci d'essayer d'être un peu précis, que je ne réponde pas 15 fois à côté de la plaque...
Tu veux que ça lance la requête, et ensuite le problème c'est que ça la lance!!!!!!!
Tu veux que ça lance la requête, et ensuite le problème c'est que ça la lance!!!!!!!
Je réexplique:
De base mon petit formulaire avec la liste déroulante (ci-dessous) n'existait pas et je l'ai créer car auparavant lorsqu'on voulait afficher L'Etat par immeuble on devait écrire le nom exacte de l'immeuble, Et le but et qu'on puisse maintenant séléctionné les immeubles dans une liste déroulante.
J'ai: (en vrai il y a beauoup plus mais je donne le nécessaire)
- un formulaire "FrmChoixImmeuble" qui contient: Une liste déroulante "LstChoixImmeuble", et un bouton Afficher "BtnShow".
- un état qui doit être filtrer par la requête. "EtatTravauxParImmeuble"
- et une requête "QryEtatTravauxParImmeuble"
Exemple:
Je choisis un des immeubles (ImmeubleX) dans la liste déroulante ensuite je clique sur Afficher, et la sa doit m'afficher dans l'état toutes les travaux engendrés sur l'ImmeubleX.
De base mon petit formulaire avec la liste déroulante (ci-dessous) n'existait pas et je l'ai créer car auparavant lorsqu'on voulait afficher L'Etat par immeuble on devait écrire le nom exacte de l'immeuble, Et le but et qu'on puisse maintenant séléctionné les immeubles dans une liste déroulante.
J'ai: (en vrai il y a beauoup plus mais je donne le nécessaire)
- un formulaire "FrmChoixImmeuble" qui contient: Une liste déroulante "LstChoixImmeuble", et un bouton Afficher "BtnShow".
- un état qui doit être filtrer par la requête. "EtatTravauxParImmeuble"
- et une requête "QryEtatTravauxParImmeuble"
Exemple:
Je choisis un des immeubles (ImmeubleX) dans la liste déroulante ensuite je clique sur Afficher, et la sa doit m'afficher dans l'état toutes les travaux engendrés sur l'ImmeubleX.
Effectivement ça n'a pas grand chose à voir avec la question initiale!!!!!
Ta requête "QryEtatTravauxParImmeuble" doit donc avoir un critère basé sur la liste de choix comme je te l'ai dit. Et si ça, c'est OK, et que l'état "EtatTravauxParImmeuble" est basé sur cette requête, le bouton doit avoir comme code DoCmd.OpenReport "EtatTravauxParImmeuble"
Remarque: Si l'état vient en aperçu, et que tu veux faire une autre sélection, tu dois absolument refermer l'état avant de retourner au formulaire sinon il ne sera pas actualisé.
Ta requête "QryEtatTravauxParImmeuble" doit donc avoir un critère basé sur la liste de choix comme je te l'ai dit. Et si ça, c'est OK, et que l'état "EtatTravauxParImmeuble" est basé sur cette requête, le bouton doit avoir comme code DoCmd.OpenReport "EtatTravauxParImmeuble"
Remarque: Si l'état vient en aperçu, et que tu veux faire une autre sélection, tu dois absolument refermer l'état avant de retourner au formulaire sinon il ne sera pas actualisé.
Si j'ai bien compris :
Critéres de la requête: Forms!FrmListeChoixImmeuble!ListChoixImmeuble!NOM
Source de l'état: QryEtatTravauxParImmeuble
et Bouton code VBA: DoCmd.OpenReport "EtatTravauxParImmeuble"
Je fais sa?
Critéres de la requête: Forms!FrmListeChoixImmeuble!ListChoixImmeuble!NOM
Source de l'état: QryEtatTravauxParImmeuble
et Bouton code VBA: DoCmd.OpenReport "EtatTravauxParImmeuble"
Je fais sa?
Si tu le veux en aperçu il faut écrire - pardon - DoCmd OpenReport "EtatTravauxParImmeuble",, acPreview
Par contre, si ça n'affiche rien, c'est qu'il y a un prblème au niveau de la requête, je présume. Est ce que la requête elle-même te donne un résultat>?
Ah non, chuis bête, tu as déjà dit que ça t'ouvrait "une jolie table vide" (En fait c'est une feuille de données vide, mais bon)
Et si tu ne mets pas de critères, ça donne qqchose? Si oui, le problème vient de ton critère, si non il vient de la requête. Essaye et tiens moi au courant!
Par contre, si ça n'affiche rien, c'est qu'il y a un prblème au niveau de la requête, je présume. Est ce que la requête elle-même te donne un résultat>?
Ah non, chuis bête, tu as déjà dit que ça t'ouvrait "une jolie table vide" (En fait c'est une feuille de données vide, mais bon)
Et si tu ne mets pas de critères, ça donne qqchose? Si oui, le problème vient de ton critère, si non il vient de la requête. Essaye et tiens moi au courant!
Est-ce que je dois quand même passer par la requête?
sinon quel évenement dois-je mettre sur mon bouton Appliquer dans le formulaire où j'ai ma liste déroulante.
SVP des réponses !
D'avance merci
Dois-je continuer à passer par ma macro? (Car entre temps je l'ai changée, ma macro est maintenant une execution SQL)
Pourriez-vous me donner la démarche à effectuer le plus détailler possible SVP.
D'avance merci !