Concatener des requetes
Asterix
-
ortys4 Messages postés 254 Statut Membre -
ortys4 Messages postés 254 Statut Membre -
Bien le bonjour,
Je vous expose le probleme :
J'ai 2 requetes qui me sortent un truc comme ca toutes les 2:
REQ1 :
REQ2 :
et je voudrais les afficher toutes les 2 dans un meme formulaire ou etat, je ne sais pas encore, un truc qui ressemblerait a ca :
Bref, pour faire ca il me semble que passer par une requete intermediaire qui me retournerait ca serait nickel :
Mais je ne vois pas comment faire. Quelqu'un aurait une petite idee ?
PS : je precise qu'a terme ca ne sera pas 2 requetes, mais X requetes, et que faire ca en VBA ne me pose pas de probleme.
Un grand merci d'avance !
Je vous expose le probleme :
J'ai 2 requetes qui me sortent un truc comme ca toutes les 2:
REQ1 :
Nom Valeur toto 123 tata 456
REQ2 :
Nom Valeur toto 1234 tata 5678
et je voudrais les afficher toutes les 2 dans un meme formulaire ou etat, je ne sais pas encore, un truc qui ressemblerait a ca :
toto tata REQ1 123 456 REQ2 1234 45678
Bref, pour faire ca il me semble que passer par une requete intermediaire qui me retournerait ca serait nickel :
Nom Valeur Req toto 123 REQ1 tata 456 REQ1 toto 1234 REQ2 tata 5678 REQ2
Mais je ne vois pas comment faire. Quelqu'un aurait une petite idee ?
PS : je precise qu'a terme ca ne sera pas 2 requetes, mais X requetes, et que faire ca en VBA ne me pose pas de probleme.
Un grand merci d'avance !
3 réponses
-
Salut, travail tu sur une base de donnée relationnel ? (avec es clef primaire, etc)
-
Les requêtes peuvent se liée très facilement. Il y à une relation entre clef primaire et clef étrangère. Si tu arrive à me faire parvenir une explication brève de ce qui relie tes 2 tables, je peux essayé de te faire ta requête.
-
je n'ai qu'une seule table, les 2 requetes extraient certaines donnees de cette meme table avec differents criteres. Et je voudrais afficher les differents resultats dans un formulaire ou un etat.
grossomodo :
ta table est du genrecritere nom valeur C1 toto 1 C1 toto 2 C1 tata 3 C2 toto 4 C2 tata 5 C2 tata 6
La premiere requete va sommer que les lignes avec critere = C1 :toto 3 tata 3
et la 2eme requete va sommer les lignes avec critere = C2 :toto 4 tata 11
-
-
Alors si j'ai bien compris, tu vaut afficher le selon critère1 et critère2
Dans la clause where, tu met condition1 or condition2
Sa devrai résoudre ton cas.-
-
-
je precise que la liste des requetes que je vais devoir afficher est dans une table
Si c'est possible de dessinner un formulaire par un script VBA ca peut etre une solution:
for requete in list_requete
executer requete
dessinner une ligne dans le formulaire qui contient le nom de la requete et les resultats dans des zones de texte
Mais je ne sais pas creer un nouveau controle et le placer dans un formulaire depuis un script VBA.
J'espere que je suis clair.
Sinon ma premiere solution de reussir a optenir une requete qui me sortirait ca me conviendrait tres bien aussi :
Nom Valeur Req toto 3 REQ1 tata 3 REQ1 toto 4 REQ2 tata 11 REQ2
De la je peux creer un etat qui m'afficherait les resultats -
-
je vais essaye ca, merci, sinon j'etait parti sur une autre idee : creer moi meme un recordset que je remplit avec les resultats de toutes mes requetes, et ensuite le mettre comme source de mon formulaire :
Sub test() Dim recs As ADODB.Recordset Dim recs2 As Recordset Dim db As Database Set db = CurrentDb() Set recs2 = db.OpenRecordset("req1") Set recs = New ADODB.Recordset recs.Fields.Append "nom", adVarChar, 255 recs.Fields.Append "valeur", adVarChar, 255 recs.Fields.Append "req", adVarChar, 255 recs.Open Do While Not recs2.EOF recs.AddNew Array("nom", "valeur", "req"), Array(recs2.Fields("nom"), recs2.Fields("valeur"), "REQ1") recs2.MoveNext Loop Set Forms("MonFormulaire").Recordset = recs recs.Close End Sub
Mais dans mon formulaire je ne vois que des #error dans les cases. Par contre j'ai bien le bon nombre de lignes par rapport a ma requete.
PS : si j'ai fais un ADODB.RecordSet c'est patce que apres j'veux y mettre le resultat de toutes mes requetes les un a la suite des autres. Parce que si je prends le recs2 et que j'essaye d'y rajouter les enregistrement d'une autre requete il veut pas parce que recs2 est en lecture seule.
-