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....
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]
Message édité par Aramil33 le 05-03-2008 à 14:56:14
Bon, personne ne peut m'aidé, j'ai entendu parlé qu'il faudrai utilisé un assistant pour les requêtes en ouvrant le formulaire puis la requête mais après je ne sais pas se qu'il faut faire.
Quelqu'un sait où se trouve l'assistant?
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
Code :
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)
Code :
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.
Code :
redim message(1)
message(1) = IDE_form ' la valeur dans le formulaire
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....
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
---------------
S'il n'y a pas de solution c'est qu'il n'y pas de problème
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 )
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....
Mouais enfin ça reste du langage pour un nombre limité de logiciel le vba alors que je ne pense pas que ce soit le cas du vb (enfin moi pas pro alors pas taper, nan, pas la tête )