Par définition, un querydef temporaire n'a pas de nom. Le recordet qui
résultera de son exécution n'a à priori pas besoin d'être sauvé et donc
d'être nommé, ce qui simplifie la gestion de la base en cas de réutilisation
de ce query et de ce recordset.
Comment faire référence à ce premier recordet (ou querydef) temporaire dans
la définition de l'instruction SQL (strSQL de CreateQueryDef) d'un nouveau
querydef dont le premier serait la source, avec l'obstacle que la source doit
avoir un nom ?
Pour simplifier, le nom des champs est hérité de la table d'origine.
Si quelqu'un a une solution, cela m'aiderait assurément.
Merci
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Eric
Bonjour,
(Sous réserve d'avoir bien compris) Pourquoi ne pas faire un Select chp1, chp3 From (Select chp1, chp2, chp3 ... From UneTable)) où le (Select ... From Unetable) derrière le 1er FROM représente ta requête temporaire ?
Exemple: Sub zz() Dim strSQL As String, rq As DAO.QueryDef, rs As DAO.Recordset strSQL = "select distinct societe_client, ville_client from " _ & "(select * from tclient C inner join tFacture F " _ & "on C.Numclient=F.Numclient)" Set rq = CurrentDb.CreateQueryDef("zz", strSQL) DoCmd.OpenQuery "zz" End Sub
(Il appartiendra de supprimer la 2ème requête - ici zz - quand necessaire)
Bonjour
Par définition, un querydef temporaire n'a pas de nom. Le recordet qui résultera de son exécution n'a à priori pas besoin d'être sauvé et donc d'être nommé, ce qui simplifie la gestion de la base en cas de réutilisation de ce query et de ce recordset.
Comment faire référence à ce premier recordet (ou querydef) temporaire dans la définition de l'instruction SQL (strSQL de CreateQueryDef) d'un nouveau querydef dont le premier serait la source, avec l'obstacle que la source doit avoir un nom ? Pour simplifier, le nom des champs est hérité de la table d'origine.
Si quelqu'un a une solution, cela m'aiderait assurément. Merci
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
(Sous réserve d'avoir bien compris)
Pourquoi ne pas faire un
Select chp1, chp3 From (Select chp1, chp2, chp3 ... From UneTable))
où le (Select ... From Unetable) derrière le 1er FROM représente ta
requête temporaire ?
Exemple:
Sub zz()
Dim strSQL As String, rq As DAO.QueryDef, rs As DAO.Recordset
strSQL = "select distinct societe_client, ville_client from " _
& "(select * from tclient C inner join tFacture F " _
& "on C.Numclient=F.Numclient)"
Set rq = CurrentDb.CreateQueryDef("zz", strSQL)
DoCmd.OpenQuery "zz"
End Sub
(Il appartiendra de supprimer la 2ème requête - ici zz - quand necessaire)
Bonjour
Par définition, un querydef temporaire n'a pas de nom. Le recordet qui
résultera de son exécution n'a à priori pas besoin d'être sauvé et donc
d'être nommé, ce qui simplifie la gestion de la base en cas de réutilisation
de ce query et de ce recordset.
Comment faire référence à ce premier recordet (ou querydef) temporaire dans
la définition de l'instruction SQL (strSQL de CreateQueryDef) d'un nouveau
querydef dont le premier serait la source, avec l'obstacle que la source doit
avoir un nom ?
Pour simplifier, le nom des champs est hérité de la table d'origine.
Si quelqu'un a une solution, cela m'aiderait assurément.
Merci
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
(Sous réserve d'avoir bien compris) Pourquoi ne pas faire un Select chp1, chp3 From (Select chp1, chp2, chp3 ... From UneTable)) où le (Select ... From Unetable) derrière le 1er FROM représente ta requête temporaire ?
Exemple: Sub zz() Dim strSQL As String, rq As DAO.QueryDef, rs As DAO.Recordset strSQL = "select distinct societe_client, ville_client from " _ & "(select * from tclient C inner join tFacture F " _ & "on C.Numclient=F.Numclient)" Set rq = CurrentDb.CreateQueryDef("zz", strSQL) DoCmd.OpenQuery "zz" End Sub
(Il appartiendra de supprimer la 2ème requête - ici zz - quand necessaire)
Bonjour
Par définition, un querydef temporaire n'a pas de nom. Le recordet qui résultera de son exécution n'a à priori pas besoin d'être sauvé et donc d'être nommé, ce qui simplifie la gestion de la base en cas de réutilisation de ce query et de ce recordset.
Comment faire référence à ce premier recordet (ou querydef) temporaire dans la définition de l'instruction SQL (strSQL de CreateQueryDef) d'un nouveau querydef dont le premier serait la source, avec l'obstacle que la source doit avoir un nom ? Pour simplifier, le nom des champs est hérité de la table d'origine.
Si quelqu'un a une solution, cela m'aiderait assurément. Merci
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Eric
.../... A supprimer la ) de trop à la 3eme ligne et rs as DAO.Recordset dans les déclarations.
Bonjour,
(Sous réserve d'avoir bien compris) Pourquoi ne pas faire un Select chp1, chp3 From (Select chp1, chp2, chp3 ... From UneTable)) où le (Select ... From Unetable) derrière le 1er FROM représente ta requête temporaire ?
Exemple: Sub zz() Dim strSQL As String, rq As DAO.QueryDef, rs As DAO.Recordset strSQL = "select distinct societe_client, ville_client from " _ & "(select * from tclient C inner join tFacture F " _ & "on C.Numclient=F.Numclient)" Set rq = CurrentDb.CreateQueryDef("zz", strSQL) DoCmd.OpenQuery "zz" End Sub
(Il appartiendra de supprimer la 2ème requête - ici zz - quand necessaire)
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
.../...
A supprimer la ) de trop à la 3eme ligne et rs as DAO.Recordset dans les
déclarations.
Bonjour,
(Sous réserve d'avoir bien compris)
Pourquoi ne pas faire un
Select chp1, chp3 From (Select chp1, chp2, chp3 ... From UneTable))
où le (Select ... From Unetable) derrière le 1er FROM représente ta
requête temporaire ?
Exemple:
Sub zz()
Dim strSQL As String, rq As DAO.QueryDef, rs As DAO.Recordset
strSQL = "select distinct societe_client, ville_client from " _
& "(select * from tclient C inner join tFacture F " _
& "on C.Numclient=F.Numclient)"
Set rq = CurrentDb.CreateQueryDef("zz", strSQL)
DoCmd.OpenQuery "zz"
End Sub
(Il appartiendra de supprimer la 2ème requête - ici zz - quand necessaire)
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
.../... A supprimer la ) de trop à la 3eme ligne et rs as DAO.Recordset dans les déclarations.
Bonjour,
(Sous réserve d'avoir bien compris) Pourquoi ne pas faire un Select chp1, chp3 From (Select chp1, chp2, chp3 ... From UneTable)) où le (Select ... From Unetable) derrière le 1er FROM représente ta requête temporaire ?
Exemple: Sub zz() Dim strSQL As String, rq As DAO.QueryDef, rs As DAO.Recordset strSQL = "select distinct societe_client, ville_client from " _ & "(select * from tclient C inner join tFacture F " _ & "on C.Numclient=F.Numclient)" Set rq = CurrentDb.CreateQueryDef("zz", strSQL) DoCmd.OpenQuery "zz" End Sub
(Il appartiendra de supprimer la 2ème requête - ici zz - quand necessaire)
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Michel
Merci Eric
Imbriquer une requête est la première solution qui vient à l'esprit. Mais comme je compte répéter l'opération sur un certain nombre de niveaux et au gré des choix de l'utilisateur, la gestion du code risque de devenir assez lourde et serait sans doute difficile à généraliser.
Personne d'autre n'a d'idée, voire la confirmation de l'impasse ?
Michel
"Michel" wrote:
Bonjour
Par définition, un querydef temporaire n'a pas de nom. Le recordet qui résultera de son exécution n'a à priori pas besoin d'être sauvé et donc d'être nommé, ce qui simplifie la gestion de la base en cas de réutilisation de ce query et de ce recordset.
Comment faire référence à ce premier recordet (ou querydef) temporaire dans la définition de l'instruction SQL (strSQL de CreateQueryDef) d'un nouveau querydef dont le premier serait la source, avec l'obstacle que la source doit avoir un nom ? Pour simplifier, le nom des champs est hérité de la table d'origine.
Si quelqu'un a une solution, cela m'aiderait assurément. Merci
Merci Eric
Imbriquer une requête est la première solution qui vient à l'esprit.
Mais comme je compte répéter l'opération sur un certain nombre de niveaux et
au gré des choix de l'utilisateur, la gestion du code risque de devenir assez
lourde et serait sans doute difficile à généraliser.
Personne d'autre n'a d'idée, voire la confirmation de l'impasse ?
Michel
"Michel" wrote:
Bonjour
Par définition, un querydef temporaire n'a pas de nom. Le recordet qui
résultera de son exécution n'a à priori pas besoin d'être sauvé et donc
d'être nommé, ce qui simplifie la gestion de la base en cas de réutilisation
de ce query et de ce recordset.
Comment faire référence à ce premier recordet (ou querydef) temporaire dans
la définition de l'instruction SQL (strSQL de CreateQueryDef) d'un nouveau
querydef dont le premier serait la source, avec l'obstacle que la source doit
avoir un nom ?
Pour simplifier, le nom des champs est hérité de la table d'origine.
Si quelqu'un a une solution, cela m'aiderait assurément.
Merci
Imbriquer une requête est la première solution qui vient à l'esprit. Mais comme je compte répéter l'opération sur un certain nombre de niveaux et au gré des choix de l'utilisateur, la gestion du code risque de devenir assez lourde et serait sans doute difficile à généraliser.
Personne d'autre n'a d'idée, voire la confirmation de l'impasse ?
Michel
"Michel" wrote:
Bonjour
Par définition, un querydef temporaire n'a pas de nom. Le recordet qui résultera de son exécution n'a à priori pas besoin d'être sauvé et donc d'être nommé, ce qui simplifie la gestion de la base en cas de réutilisation de ce query et de ce recordset.
Comment faire référence à ce premier recordet (ou querydef) temporaire dans la définition de l'instruction SQL (strSQL de CreateQueryDef) d'un nouveau querydef dont le premier serait la source, avec l'obstacle que la source doit avoir un nom ? Pour simplifier, le nom des champs est hérité de la table d'origine.
Si quelqu'un a une solution, cela m'aiderait assurément. Merci