jjmaster
Messages postés51Date d'inscriptionmardi 28 janvier 2003StatutMembreDernière intervention29 septembre 2010
-
30 juin 2004 à 12:11
cs_Pim
Messages postés26Date d'inscriptionsamedi 24 août 2002StatutMembreDernière intervention 6 septembre 2006
-
17 oct. 2004 à 21:36
Salut, voila mon pb:
j'execute la requete suivant
sql "SELECT Intituler.machine, Intituler.[date heure], Intituler.[valeur tps], Intituler.intitule From Intituler GROUP BY Intituler.machine, Intituler.[date heure], Intituler.[valeur tps], Intituler.intitule Having (((Intituler.machine) '" & MachineEnCours & "') And ((Intituler.[date heure]) >= #" & selectdate & "# And (Intituler.[date heure]) <= #" & selectdate2 & "#)) ORDER BY Intituler.[valeur tps] DESC;"
Set rs2 = DBdatabase.OpenRecordset(sql, dbOpenDynaset)
donc dans "rs2" j'ai le resultat de ma requete. Ensuite il faut que je fasse une requete sur cette requete rs2 (existant que dans le programme)
> probleme en executant la requete suivante, il me dis qu'il ne la connais pas, elle ne fait pas partie de la base ".mdb" sur laquel je travaille.
sql = "SELECT rs2 .machine, Sum(rs2.[valeur tps]) AS [SommeDevaleur tps], rs2.intitule From rrs2 GROUP BY rs2.machine, rs2.intitule ORDER BY Sum(rs2.[valeur tps]) DESC;"
Set rs = DBdatabase.OpenRecordset(sql, dbOpenDynaset)
Merci de m'aider. Si vous avez besoin de plus d'informations pour repondre n'hesitai pas à me le demander. Je reste a disposition 8-)
olanfr
Messages postés46Date d'inscriptionmardi 9 décembre 2003StatutMembreDernière intervention25 novembre 2006 30 juin 2004 à 14:21
Bonjour,
En effet r2 n'est pas reconnu dans la requête, il faut faire un truc du genre :
Sql="Select " &rs2("Machine") &" , Sum(" &rs2("Valeur") &" As..."
En fait, il faut concaténer ta chaîne en lui passant les valeurs contenues dans ton recordset.
@+
Olan
cs_Pim
Messages postés26Date d'inscriptionsamedi 24 août 2002StatutMembreDernière intervention 6 septembre 2006 17 oct. 2004 à 21:36
Procédure à suivre:
1/ Créer la première requête comme tu l'as fait, mais veiller à ce que ce soit une requête ENREGISTRÉE dans la base de données !
2/ Appeler cette requête enregistrée comme source d'une deuxième requête.
Voici un exemple émanant de l'une de mes applications.
Pour les détails, je n'ai pas vraiment le temps d'expliquer.
Lis le code et tente de l'appliquer à ton problème.
Salut.
Private Function Fonct_Rechercher()
' Déclaration des variables
Dim MyQuery As QueryDef
Dim dbs As Database
Set dbs = OpenDatabase(Var_CheminDatabase)
' La requête de départSQLText "SELECT * FROM EVOLUTIONS WHERE EVOLUTIONS.IDNUM " & IDNUM_GENERAL
' On l'enregistre dans la Db
Set MyQuery = dbs.CreateQueryDef("MyReq", SQLText)
' Recherche proprement dite basée sur la requête enregistrée
DataEvolutions.RecordSource = "SELECT DATECONS, EXAMEN, DIAG, SPECIFIC, " _
& " DETAILS_TXT, URL, ATTRIBUT, IDEVOL, IDNUM, DETAILS, FLAG, FLAGLABO, UID, FLAGCP" _
& " FROM MyReq WHERE DATECONS like '*" & Text1.Text & "*'" & _
" or EXAMEN like '*" & Text1.Text & "*'" & _
" or DIAG like '*" & Text1.Text & "*'" & _
" or SPECIFIC like '*" & Text1.Text & "*'" & _
" or DETAILS_TXT like '*" & Text1.Text & "*'" & _
" or URL like '*" & Text1.Text & "*'" & _
" ORDER BY DATECONS desc"
DataEvolutions.Refresh
' On supprime la requête de la base de données
dbs.QueryDefs.Delete MyQuery.Name