Création table a partir d'une requête en VB Access
3 réponses
jorie80
Bonjour,
Mon objectif est de créer une table qui récupère les champs d'une
requête lancée auparavant qui est enregistrée dans le recordset.
Voici comment je procède pour le moment :
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
Raymond [mvp]
Bonjour.
Tu récupères le recordsource , tu rajoutes into x avant le from et tu exécutes ta requête sql construite.
ton recordsource est par exemple: SELECT table1.* FROM table1; et il doit devenir: SELECT table1.* INTO tablex FROM table1;
tu fais un replace de "FROM" par "INTO tablex FROM"
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"okto" a écrit dans le message de news:
Bonjour,
Mon objectif est de créer une table qui récupère les champs d'une requête lancée auparavant qui est enregistrée dans le recordset. Voici comment je procède pour le moment :
cnn.Execute "CREATE TABLE Table1 (?????? comment faire pour récupérer les champs de la requête exécutée plus haut ?)"
cnn.Close Set cnn = Nothing
Mais comment récupérer les champs et les données de mon recordset pour les insérer dans cette nouvelle table créée ? Là est mon souci.
Merci de vos précieux conseils Okto
Bonjour.
Tu récupères le recordsource , tu rajoutes into x avant le from et tu
exécutes ta requête sql construite.
ton recordsource est par exemple: SELECT table1.* FROM table1;
et il doit devenir:
SELECT table1.* INTO tablex FROM table1;
tu fais un replace de "FROM" par "INTO tablex FROM"
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"okto" <jorie80@hotmail.com> a écrit dans le message de
news:ec6aacb8.0402090246.547bdaed@posting.google.com...
Bonjour,
Mon objectif est de créer une table qui récupère les champs d'une
requête lancée auparavant qui est enregistrée dans le recordset.
Voici comment je procède pour le moment :
Tu récupères le recordsource , tu rajoutes into x avant le from et tu exécutes ta requête sql construite.
ton recordsource est par exemple: SELECT table1.* FROM table1; et il doit devenir: SELECT table1.* INTO tablex FROM table1;
tu fais un replace de "FROM" par "INTO tablex FROM"
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"okto" a écrit dans le message de news:
Bonjour,
Mon objectif est de créer une table qui récupère les champs d'une requête lancée auparavant qui est enregistrée dans le recordset. Voici comment je procède pour le moment :
cnn.Execute "CREATE TABLE Table1 (?????? comment faire pour récupérer les champs de la requête exécutée plus haut ?)"
cnn.Close Set cnn = Nothing
Mais comment récupérer les champs et les données de mon recordset pour les insérer dans cette nouvelle table créée ? Là est mon souci.
Merci de vos précieux conseils Okto
jorie80
Bonjour Raymond,
Merci de ton post.
Voici ce que donne mon code. Il m'indique une erreur de type "objet requis" sur la ligne :
CurrebtDb.Execute "SELECT [X Client détail 3 - ENCOURS OPCVM niveau 0 avec niveau 3].* into [dd] from [X Client détail 3 - ENCOURS OPCVM niveau 0 avec niveau 3]"
Voici mon code :
Function stateQuery(QueryName As String, strParameter As String) As Recordset Dim qdState As QueryDef Dim dbsCurrent As Database Set dbsCurrent = CurrentDb() Set qdState = dbsCurrent.QueryDefs(QueryName) qdState.Parameters("V_DATE_T") = strParameter Set stateQuery = qdState.OpenRecordset End Function
Sub Export() Dim cnn As New ADODB.Connection Dim DATE_T As String
DATE_T = InputBox("DATE")
'Recordset Call stateQuery("X Client détail 3 - ENCOURS OPCVM niveau 0 avec niveau 3", DATE_T)
'"Vidage" de la requête dans une nouvelle table CurrebtDb.Execute "SELECT [X Client détail 3 - ENCOURS OPCVM niveau 0 avec niveau 3].* into [dd] from [X Client détail 3 - ENCOURS OPCVM niveau 0 avec niveau 3]" End Sub
Merci de votre aide Okto
"Raymond [mvp]" wrote in message news:...
Bonjour.
Tu récupères le recordsource , tu rajoutes into x avant le from et tu exécutes ta requête sql construite.
ton recordsource est par exemple: SELECT table1.* FROM table1; et il doit devenir: SELECT table1.* INTO tablex FROM table1;
tu fais un replace de "FROM" par "INTO tablex FROM"
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"okto" a écrit dans le message de news:
Bonjour,
Mon objectif est de créer une table qui récupère les champs d'une requête lancée auparavant qui est enregistrée dans le recordset. Voici comment je procède pour le moment :
cnn.Execute "CREATE TABLE Table1 (?????? comment faire pour récupérer les champs de la requête exécutée plus haut ?)"
cnn.Close Set cnn = Nothing
Mais comment récupérer les champs et les données de mon recordset pour les insérer dans cette nouvelle table créée ? Là est mon souci.
Merci de vos précieux conseils Okto
Bonjour Raymond,
Merci de ton post.
Voici ce que donne mon code. Il m'indique une erreur de type "objet
requis" sur la ligne :
CurrebtDb.Execute "SELECT [X Client détail 3 - ENCOURS OPCVM niveau 0
avec niveau 3].* into [dd] from [X Client détail 3 - ENCOURS OPCVM
niveau 0 avec niveau 3]"
Voici mon code :
Function stateQuery(QueryName As String, strParameter As String) As
Recordset
Dim qdState As QueryDef
Dim dbsCurrent As Database
Set dbsCurrent = CurrentDb()
Set qdState = dbsCurrent.QueryDefs(QueryName)
qdState.Parameters("V_DATE_T") = strParameter
Set stateQuery = qdState.OpenRecordset
End Function
Sub Export()
Dim cnn As New ADODB.Connection
Dim DATE_T As String
DATE_T = InputBox("DATE")
'Recordset
Call stateQuery("X Client détail 3 - ENCOURS OPCVM niveau 0 avec
niveau 3",
DATE_T)
'"Vidage" de la requête dans une nouvelle table
CurrebtDb.Execute "SELECT [X Client détail 3 - ENCOURS OPCVM
niveau 0 avec
niveau 3].* into [dd] from [X Client détail 3 - ENCOURS OPCVM
niveau 0 avec
niveau 3]"
End Sub
Merci de votre aide
Okto
"Raymond [mvp]" <XYZ.access.seneque@free.fr> wrote in message news:<ec0rnyv7DHA.2064@TK2MSFTNGP11.phx.gbl>...
Bonjour.
Tu récupères le recordsource , tu rajoutes into x avant le from et tu
exécutes ta requête sql construite.
ton recordsource est par exemple: SELECT table1.* FROM table1;
et il doit devenir:
SELECT table1.* INTO tablex FROM table1;
tu fais un replace de "FROM" par "INTO tablex FROM"
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"okto" <jorie80@hotmail.com> a écrit dans le message de
news:ec6aacb8.0402090246.547bdaed@posting.google.com...
Bonjour,
Mon objectif est de créer une table qui récupère les champs d'une
requête lancée auparavant qui est enregistrée dans le recordset.
Voici comment je procède pour le moment :
Voici ce que donne mon code. Il m'indique une erreur de type "objet requis" sur la ligne :
CurrebtDb.Execute "SELECT [X Client détail 3 - ENCOURS OPCVM niveau 0 avec niveau 3].* into [dd] from [X Client détail 3 - ENCOURS OPCVM niveau 0 avec niveau 3]"
Voici mon code :
Function stateQuery(QueryName As String, strParameter As String) As Recordset Dim qdState As QueryDef Dim dbsCurrent As Database Set dbsCurrent = CurrentDb() Set qdState = dbsCurrent.QueryDefs(QueryName) qdState.Parameters("V_DATE_T") = strParameter Set stateQuery = qdState.OpenRecordset End Function
Sub Export() Dim cnn As New ADODB.Connection Dim DATE_T As String
DATE_T = InputBox("DATE")
'Recordset Call stateQuery("X Client détail 3 - ENCOURS OPCVM niveau 0 avec niveau 3", DATE_T)
'"Vidage" de la requête dans une nouvelle table CurrebtDb.Execute "SELECT [X Client détail 3 - ENCOURS OPCVM niveau 0 avec niveau 3].* into [dd] from [X Client détail 3 - ENCOURS OPCVM niveau 0 avec niveau 3]" End Sub
Merci de votre aide Okto
"Raymond [mvp]" wrote in message news:...
Bonjour.
Tu récupères le recordsource , tu rajoutes into x avant le from et tu exécutes ta requête sql construite.
ton recordsource est par exemple: SELECT table1.* FROM table1; et il doit devenir: SELECT table1.* INTO tablex FROM table1;
tu fais un replace de "FROM" par "INTO tablex FROM"
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"okto" a écrit dans le message de news:
Bonjour,
Mon objectif est de créer une table qui récupère les champs d'une requête lancée auparavant qui est enregistrée dans le recordset. Voici comment je procède pour le moment :
cnn.Execute "CREATE TABLE Table1 (?????? comment faire pour récupérer les champs de la requête exécutée plus haut ?)"
cnn.Close Set cnn = Nothing
Mais comment récupérer les champs et les données de mon recordset pour les insérer dans cette nouvelle table créée ? Là est mon souci.
Merci de vos précieux conseils Okto
Pierre CFI [mvp]
si tu as fais un copier coller, fautes de frappe CurrebtDb.Execute au lieu de currentdb.execute
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "okto" a écrit dans le message de news:
Bonjour Raymond,
Merci de ton post.
Voici ce que donne mon code. Il m'indique une erreur de type "objet requis" sur la ligne :
CurrebtDb.Execute "SELECT [X Client détail 3 - ENCOURS OPCVM niveau 0 avec niveau 3].* into [dd] from [X Client détail 3 - ENCOURS OPCVM niveau 0 avec niveau 3]"
Voici mon code :
Function stateQuery(QueryName As String, strParameter As String) As Recordset Dim qdState As QueryDef Dim dbsCurrent As Database Set dbsCurrent = CurrentDb() Set qdState = dbsCurrent.QueryDefs(QueryName) qdState.Parameters("V_DATE_T") = strParameter Set stateQuery = qdState.OpenRecordset End Function
Sub Export() Dim cnn As New ADODB.Connection Dim DATE_T As String
DATE_T = InputBox("DATE")
'Recordset Call stateQuery("X Client détail 3 - ENCOURS OPCVM niveau 0 avec niveau 3", DATE_T)
'"Vidage" de la requête dans une nouvelle table CurrebtDb.Execute "SELECT [X Client détail 3 - ENCOURS OPCVM niveau 0 avec niveau 3].* into [dd] from [X Client détail 3 - ENCOURS OPCVM niveau 0 avec niveau 3]" End Sub
Merci de votre aide Okto
"Raymond [mvp]" wrote in message news:...
Bonjour.
Tu récupères le recordsource , tu rajoutes into x avant le from et tu exécutes ta requête sql construite.
ton recordsource est par exemple: SELECT table1.* FROM table1; et il doit devenir: SELECT table1.* INTO tablex FROM table1;
tu fais un replace de "FROM" par "INTO tablex FROM"
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"okto" a écrit dans le message de news:
Bonjour,
Mon objectif est de créer une table qui récupère les champs d'une requête lancée auparavant qui est enregistrée dans le recordset. Voici comment je procède pour le moment :
cnn.Execute "CREATE TABLE Table1 (?????? comment faire pour récupérer les champs de la requête exécutée plus haut ?)"
cnn.Close Set cnn = Nothing
Mais comment récupérer les champs et les données de mon recordset pour les insérer dans cette nouvelle table créée ? Là est mon souci.
Merci de vos précieux conseils Okto
si tu as fais un copier coller, fautes de frappe
CurrebtDb.Execute au lieu de currentdb.execute
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"okto" <jorie80@hotmail.com> a écrit dans le message de news: ec6aacb8.0402100209.18cda9e2@posting.google.com...
Bonjour Raymond,
Merci de ton post.
Voici ce que donne mon code. Il m'indique une erreur de type "objet
requis" sur la ligne :
CurrebtDb.Execute "SELECT [X Client détail 3 - ENCOURS OPCVM niveau 0
avec niveau 3].* into [dd] from [X Client détail 3 - ENCOURS OPCVM
niveau 0 avec niveau 3]"
Voici mon code :
Function stateQuery(QueryName As String, strParameter As String) As
Recordset
Dim qdState As QueryDef
Dim dbsCurrent As Database
Set dbsCurrent = CurrentDb()
Set qdState = dbsCurrent.QueryDefs(QueryName)
qdState.Parameters("V_DATE_T") = strParameter
Set stateQuery = qdState.OpenRecordset
End Function
Sub Export()
Dim cnn As New ADODB.Connection
Dim DATE_T As String
DATE_T = InputBox("DATE")
'Recordset
Call stateQuery("X Client détail 3 - ENCOURS OPCVM niveau 0 avec
niveau 3",
DATE_T)
'"Vidage" de la requête dans une nouvelle table
CurrebtDb.Execute "SELECT [X Client détail 3 - ENCOURS OPCVM
niveau 0 avec
niveau 3].* into [dd] from [X Client détail 3 - ENCOURS OPCVM
niveau 0 avec
niveau 3]"
End Sub
Merci de votre aide
Okto
"Raymond [mvp]" <XYZ.access.seneque@free.fr> wrote in message news:<ec0rnyv7DHA.2064@TK2MSFTNGP11.phx.gbl>...
Bonjour.
Tu récupères le recordsource , tu rajoutes into x avant le from et tu
exécutes ta requête sql construite.
ton recordsource est par exemple: SELECT table1.* FROM table1;
et il doit devenir:
SELECT table1.* INTO tablex FROM table1;
tu fais un replace de "FROM" par "INTO tablex FROM"
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"okto" <jorie80@hotmail.com> a écrit dans le message de
news:ec6aacb8.0402090246.547bdaed@posting.google.com...
Bonjour,
Mon objectif est de créer une table qui récupère les champs d'une
requête lancée auparavant qui est enregistrée dans le recordset.
Voici comment je procède pour le moment :
si tu as fais un copier coller, fautes de frappe CurrebtDb.Execute au lieu de currentdb.execute
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "okto" a écrit dans le message de news:
Bonjour Raymond,
Merci de ton post.
Voici ce que donne mon code. Il m'indique une erreur de type "objet requis" sur la ligne :
CurrebtDb.Execute "SELECT [X Client détail 3 - ENCOURS OPCVM niveau 0 avec niveau 3].* into [dd] from [X Client détail 3 - ENCOURS OPCVM niveau 0 avec niveau 3]"
Voici mon code :
Function stateQuery(QueryName As String, strParameter As String) As Recordset Dim qdState As QueryDef Dim dbsCurrent As Database Set dbsCurrent = CurrentDb() Set qdState = dbsCurrent.QueryDefs(QueryName) qdState.Parameters("V_DATE_T") = strParameter Set stateQuery = qdState.OpenRecordset End Function
Sub Export() Dim cnn As New ADODB.Connection Dim DATE_T As String
DATE_T = InputBox("DATE")
'Recordset Call stateQuery("X Client détail 3 - ENCOURS OPCVM niveau 0 avec niveau 3", DATE_T)
'"Vidage" de la requête dans une nouvelle table CurrebtDb.Execute "SELECT [X Client détail 3 - ENCOURS OPCVM niveau 0 avec niveau 3].* into [dd] from [X Client détail 3 - ENCOURS OPCVM niveau 0 avec niveau 3]" End Sub
Merci de votre aide Okto
"Raymond [mvp]" wrote in message news:...
Bonjour.
Tu récupères le recordsource , tu rajoutes into x avant le from et tu exécutes ta requête sql construite.
ton recordsource est par exemple: SELECT table1.* FROM table1; et il doit devenir: SELECT table1.* INTO tablex FROM table1;
tu fais un replace de "FROM" par "INTO tablex FROM"
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"okto" a écrit dans le message de news:
Bonjour,
Mon objectif est de créer une table qui récupère les champs d'une requête lancée auparavant qui est enregistrée dans le recordset. Voici comment je procède pour le moment :