Bizoun0urs
Messages postés5Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention 4 juillet 2006
-
12 avril 2006 à 22:21
Bizoun0urs
Messages postés5Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention 4 juillet 2006
-
13 avril 2006 à 20:14
Bonjour à tous, alors je vous explique mon problème :
J'ai une requete parametré en VBA que je crée avec un recordset classik koi sa sa marche mais komen faire pour faire une sous requete utilisan les champs et donnée présent dans le recordset (juste apres lexecution de la premiere) ou alors simplement mettre les donnée du recordset de la premiere requete dans une table temporaire et partir de la table temporaire pour la seconde requete ???
cs_jordinette
Messages postés134Date d'inscriptionmercredi 2 mars 2005StatutMembreDernière intervention 5 avril 2007 13 avril 2006 à 09:04
Bonjour,
perso j'ai fait com tu as dit, une table "temporaire" et une deuxième requete!
Surtout si tu travailles avec Access.
un create table, un execute de ta requete 1 , un affichage dans un état ou autre, puis un drop de ta table temporaire ...
Jordinette
Tuning Max
Messages postés314Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention31 août 20061 13 avril 2006 à 10:59
C'est le principe des requêtes imbriqués. Un petit exemple valant mieux qu'un long discourt voilà.
Je commence par faire une requête SQL de sélection puis j'ouvre mon recordset avec la première requête SQL comme composant. Sinon je ne vois que la création d'une querydef, mais je ne trouve pas ça top car en général tu dois la créer puis la supprimer à la fin de ton opération, pour être sûr qu'on ne te la modifie pas. C'est le même principe que la table temporaire.
Dim sql As String, rcd As Recordset, Var As String
Var = "HDS UNIVERSITE"
sql = " SELECT [tblClientèle]![RefClient], [tblClientèle]![Nom], [tblClientèle]![Prénom], [tblServices]![LibelleCour] " & _
" FROM tblServices INNER JOIN tblClientèle ON [tblServices]![RefService] = [tblClientèle]![RefService] " & _
" WHERE ((([tblServices]![LibelleCour])=" & Var & "));"
Set rcd = CurrentDb.OpenRecordset("Select " & sql & ".Nom, " & sql & ".Prénom, " & sql & ".LibelleCour, tblMobilier.CodeBarre " & _
" From " & sql & " INNER JOIN tblMobilier On " & sql & ".RefClient = tblMobilier.RefClient;")
rcd.MoveLast
MsgBox " Il y a " & rcd.RecordCount & " Enregistrements qui satisfont à votre requête!"
rcd.Close
Bizoun0urs
Messages postés5Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention 4 juillet 2006 13 avril 2006 à 20:14
Ouai jordinette je pense que ta solution est plus légère que celle de tuning max (enfin je pense pas sur) mais j'aimerais savoir comment on fait des create table ou autre insert into en code VBA paske avec les recordset les deux ne marche pas sa met un msgbox a lexecution disan ke je vai créer un truc contenan des données mais rien de plus et sa me cré pas la table et sa sort de la procedure.... Tu les fait commen tes create table en vba ( un ptit bout de code dexemple serait le bienvenue !) lol en tout cas merci bcp deja sa me sort un peu du patogeage !