mettre une variable dans une requête access 2003
Dernière réponse : dans Programmation
Bonjour,
J'ai un petit soucis avec une requête sous access 2003
J'aimerai qu'elle récupère a un endroit une variable venant du formulaire qui l'appelle avec un bouton.
j'ai un formulaire, dessus ya un champs de variable et un bouton, quand je clique sur le bouton ça appelle un état par une requete et la systématiquement ma requete me demande le contenue d'un variable qui a déja été remplie dans le formulaire, donc si je pouvais dire a la requete: "regarde c'est tel variable se que tu demande" ça m'arrangerai beaucoup....
bon voila je pense que j'ai été clair.
[edit] merci pour me l'avoir rappellé, je ne savais plus exactement se que c'étais et où ça se trouvait la balise [ code ] [/edit]
J'ai un petit soucis avec une requête sous access 2003
J'aimerai qu'elle récupère a un endroit une variable venant du formulaire qui l'appelle avec un bouton.
j'ai un formulaire, dessus ya un champs de variable et un bouton, quand je clique sur le bouton ça appelle un état par une requete et la systématiquement ma requete me demande le contenue d'un variable qui a déja été remplie dans le formulaire, donc si je pouvais dire a la requete: "regarde c'est tel variable se que tu demande" ça m'arrangerai beaucoup....
SELECT TOP 1 Traitement.code_t, Traitement.codeSAP, Traitement.numligne, SAP.nom, SAP.code_pc, SAP.code_tc, SAP.code_pf, SAP.code_tf, SAP.code_article, Traitement.Remarques, Produit_Chaud.nom, Traitement_Chaud.libelle, Traitement.epaisseur_couche, Traitement.frequence_pompe, Traitement.course_pompe, Produit_Froid.nom, Traitement_Froid.libelle, Traitement.nb_sup, Traitement.debit_sup, Traitement.regulation_sup, Traitement.nb_inf, Traitement.debit_inf, Traitement.regulation_inf, Traitement.ventilation_sortie, Traitement.vitesse_tapis, Traitement.debit_barbotage, Traitement.debit_dilution FROM Traitement, SAP, Produit_Chaud, Produit_Froid, Traitement_Chaud, Traitement_Froid WHERE Traitement.codeSAP=SAP.codeSAP And Produit_Chaud.code_pc=SAP.code_pc And Produit_Froid.code_pf=SAP.code_pf And Traitement_Chaud.code_tc=SAP.code_tc And Traitement_Froid.code_tf=SAP.code_tf And Traitement.codeSAP=[ICI LA VARIABLE VENANT D'UN CHAMP] ORDER BY Traitement.code_t DESC;
bon voila je pense que j'ai été clair.
[edit] merci pour me l'avoir rappellé, je ne savais plus exactement se que c'étais et où ça se trouvait la balise [ code ] [/edit]
Autres pages sur : mettre variable requete access 2003
Lassé par la pub ? Créez un compte
Bonjour Aramil,
C'est pas évident à faire dans le cas d'un état, mais je vais tacher de t'aiguiller. En fait il y a plusieur manière de proceder je vais t'en donner une et tu verras si cela te convient.
Il faut que tu utilises une variable pour transmettre le paramètre car c'est la seule solution qui permet de faire cela "facilement". Donc dans un module tu créés une variable public du genre
c'est une variable tableau car au moins si un jour tu as plusieurs paramètres cela fonctionnera.
Ensuite il faut créer une fonction publique qui permet de récupérer la valeur de message (toujours dans un module)
L'avantage des fonctions publiques dans un module c'est que tu peux les appeler à l'intérieur d'une requête.
Donc tu modifie ta requete en remplacant ton critère [ICI LA VARIABLE...] par un getMessage(1).
et dans ton bouton d'exécution tu fais.
C'est pas évident à faire dans le cas d'un état, mais je vais tacher de t'aiguiller. En fait il y a plusieur manière de proceder je vais t'en donner une et tu verras si cela te convient.
Il faut que tu utilises une variable pour transmettre le paramètre car c'est la seule solution qui permet de faire cela "facilement". Donc dans un module tu créés une variable public du genre
Public message() as variant
c'est une variable tableau car au moins si un jour tu as plusieurs paramètres cela fonctionnera.
Ensuite il faut créer une fonction publique qui permet de récupérer la valeur de message (toujours dans un module)
Public function getMessage(i as long) as variant 'Renvoie la valeur de message à l'indice i end function
L'avantage des fonctions publiques dans un module c'est que tu peux les appeler à l'intérieur d'une requête.
Donc tu modifie ta requete en remplacant ton critère [ICI LA VARIABLE...] par un getMessage(1).
et dans ton bouton d'exécution tu fais.
redim message(1) message(1) = IDE_form ' la valeur dans le formulaire docmd.openreport ....
Oui, c'est ce que j'étais bêtement en train de me dire en regardant ce que tu avais écrit, bref, je sais pas quoi mettre dedans.. moi et le vb on est pas copain du tout...
bref il me faut une variable globale dans la requete je met l'appel d'un fonction
j'ai pas saisie le coté modifié le bouton... pourquoi le modifier?
et enfin la fonction me largue completement... se que je met dedans c'est la récupération de la ligne du formulaire que je veut? s'va être coton pour le petit joueur de vb que je suis....
bref il me faut une variable globale dans la requete je met l'appel d'un fonction
j'ai pas saisie le coté modifié le bouton... pourquoi le modifier?
et enfin la fonction me largue completement... se que je met dedans c'est la récupération de la ligne du formulaire que je veut? s'va être coton pour le petit joueur de vb que je suis....
pour la fonction il faut faire :
Tu créé un module avec la variable et la fonction.
Il faut modifier le bouton pour que celui ci remplisse la valeur de message avant d'ouvrir l'état, sinon ton état plantera car message(1) ne sera pas initialisé.
Comme je te l'ai dit c'est pas forcément très simple pour un novice en VBA mais c'est la seule méthode que je connaisse bien.
En fait si j'essaie de faire un dessin
remplit lit la valeur
formulaire ==> message <====== état
Public function getMessage(i as long) as variant 'Renvoie la valeur de message à l'indice i getMessage = message(i) end function
Tu créé un module avec la variable et la fonction.
Il faut modifier le bouton pour que celui ci remplisse la valeur de message avant d'ouvrir l'état, sinon ton état plantera car message(1) ne sera pas initialisé.
Comme je te l'ai dit c'est pas forcément très simple pour un novice en VBA mais c'est la seule méthode que je connaisse bien.
En fait si j'essaie de faire un dessin
remplit lit la valeur
formulaire ==> message <====== état
Oui enfin je suis une brele en VBA c'est un faite, mais quand-même de la a faire un dessin...Citation :
Il faut modifier le bouton pour que celui ci remplisse la valeur de message avant d'ouvrir l'étatça, ça me suffisais largement.
ps: histoire de me mettre la honte totale, je suis en 2eme année de BTS informatique de gestion
Mouais, enfin je le dit mais je ferai peut être mieu de rien dire...
Si jamais tu dit un truc plutot simple, que je pige de travers on va en revenir au ptit dessin...
Bref essaye de me parler normalement mais vu que c'est du vba je serai peut-etre pas a la hauteur de tes parole (enfin pour le moment ça va
)
Si jamais tu dit un truc plutot simple, que je pige de travers on va en revenir au ptit dessin...
Bref essaye de me parler normalement mais vu que c'est du vba je serai peut-etre pas a la hauteur de tes parole (enfin pour le moment ça va
) Freeman23 a dit :
et dans ton bouton d'exécution tu fais.
redim message(1) message(1) = IDE_form ' la valeur dans le formulaire docmd.openreport ....
Bon alors le petit probleme que j'ai c'est le "IDE_form
C'est quoi? et quand je le met dans mon vba au moment de lancer l'appli il me dit nononononon j'en veut pas de ton IDE_truc, c'est une bibliotheque introuvable (en gros je crois qu'il le prend comme une variable non déclaré)
Bref j'ai plein de donnée dans mon formulaire moi... et je doit en prendre un spécifique, je doit mettre son ptit nom?
Merci, je l'ai vu 2 minute après avoir posté, j'aurai du tester avant de poster
Bref je te remercie ça marche tu m'a oté une grosse épine du pied, ensuite j'ai du faire un choix sur liste assé simple (en gros sur le même bouton j'ai du mettre un if toto=une_valeur else &co
et tout marche bien (oui en plus y avait une contrainte de choix, j'ai décomposé et commencé par le plus dur)
voila, voila, encore mercie on se reverra peut être du coté html/php/postgres car mon prochain projet porte la dessus....
Bref je te remercie ça marche tu m'a oté une grosse épine du pied, ensuite j'ai du faire un choix sur liste assé simple (en gros sur le même bouton j'ai du mettre un if toto=une_valeur else &co
et tout marche bien (oui en plus y avait une contrainte de choix, j'ai décomposé et commencé par le plus dur)
voila, voila, encore mercie on se reverra peut être du coté html/php/postgres car mon prochain projet porte la dessus....
Lassé par la pub ? Créez un compte
- Contenus similaires :
- ForumRequète sql, variable session
- ForumAccess : Lié un module à une requête
- ForumAccess : Requête SQL, fonction SYSDATE
- ForumProbléme de requete et de variable
- Forum[access]requete selection a partir d'un formulaire
- ForumMS Access: lien entre une requete et un formulaire
- ForumAccess : utiliser le résultat d'une requête sans l'afficher
- ForumAccess requete mise a jour & ajout / generalité
- Forumaccess: excution d'une requête sous vba et recup' dans un contrôl
- Voir plus