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 !
A voir également:
- Concatener des requetes
- Concatener deux cellules excel - Guide
- Concaténer pdf - Guide
- Inverse de concatener excel ✓ - Forum Excel
- Contraire de concatener - Forum Bureautique
- Excel concatener retour à la ligne ✓ - Forum Excel
3 réponses
Salut, travail tu sur une base de donnée relationnel ? (avec es clef primaire, etc)
Asterix
oui j'ai des cles primaires et des relations entre mes tables, mais la je travaille sur des requetes. Je ne vois pas bien ou tu veux en venir ?
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 genre
La premiere requete va sommer que les lignes avec critere = C1 :
et la 2eme requete va sommer les lignes avec critere = C2 :
grossomodo :
ta table est du genre
critere 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.
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 :
De la je peux creer un etat qui m'afficherait les resultats
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 :
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.
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.