POuvez-vous m'expliquer comment est-il possible de faire ceci en
passant par un module VB sous ACESS :
- exécuter une requête qui demande un paramètre et qui existe dans ma
BDD
- puis vider le résultat de celle-ci (les données et les champs) dans
une nouvelle table
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 fais une requête création de table et tu lances l'exécution par DoCmd.OpenQuery "requête1" le paramètre sera demandé par la requête ? ou faut-il le donner par vba ? car ça change totalement le code. -- @+ 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,
POuvez-vous m'expliquer comment est-il possible de faire ceci en passant par un module VB sous ACESS :
- exécuter une requête qui demande un paramètre et qui existe dans ma BDD - puis vider le résultat de celle-ci (les données et les champs) dans une nouvelle table
En effet, je bloque littéralement sur ce sujet.
Merci à vous.
Bonjour.
Tu fais une requête création de table et tu lances l'exécution par
DoCmd.OpenQuery "requête1"
le paramètre sera demandé par la requête ? ou faut-il le donner par vba ?
car ça change totalement le code.
--
@+
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.0402100800.2113fe19@posting.google.com...
Bonjour,
POuvez-vous m'expliquer comment est-il possible de faire ceci en
passant par un module VB sous ACESS :
- exécuter une requête qui demande un paramètre et qui existe dans ma
BDD
- puis vider le résultat de celle-ci (les données et les champs) dans
une nouvelle table
Tu fais une requête création de table et tu lances l'exécution par DoCmd.OpenQuery "requête1" le paramètre sera demandé par la requête ? ou faut-il le donner par vba ? car ça change totalement le code. -- @+ 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,
POuvez-vous m'expliquer comment est-il possible de faire ceci en passant par un module VB sous ACESS :
- exécuter une requête qui demande un paramètre et qui existe dans ma BDD - puis vider le résultat de celle-ci (les données et les champs) dans une nouvelle table
En effet, je bloque littéralement sur ce sujet.
Merci à vous.
Pierre CFI [mvp]
bonjour pourquoi en vb alors qu'il suffit de transformer ta req en req création de table, ou ajout ??
-- 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,
POuvez-vous m'expliquer comment est-il possible de faire ceci en passant par un module VB sous ACESS :
- exécuter une requête qui demande un paramètre et qui existe dans ma BDD - puis vider le résultat de celle-ci (les données et les champs) dans une nouvelle table
En effet, je bloque littéralement sur ce sujet.
Merci à vous.
bonjour
pourquoi en vb alors qu'il suffit de transformer ta req en req création de table, ou ajout ??
--
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.0402100800.2113fe19@posting.google.com...
Bonjour,
POuvez-vous m'expliquer comment est-il possible de faire ceci en
passant par un module VB sous ACESS :
- exécuter une requête qui demande un paramètre et qui existe dans ma
BDD
- puis vider le résultat de celle-ci (les données et les champs) dans
une nouvelle table
bonjour pourquoi en vb alors qu'il suffit de transformer ta req en req création de table, ou ajout ??
-- 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,
POuvez-vous m'expliquer comment est-il possible de faire ceci en passant par un module VB sous ACESS :
- exécuter une requête qui demande un paramètre et qui existe dans ma BDD - puis vider le résultat de celle-ci (les données et les champs) dans une nouvelle table
En effet, je bloque littéralement sur ce sujet.
Merci à vous.
jorie80
Bonsoir,
Je m'explique plus en détail d'autant plus que je vous propose ce que j'ai fait pour le moment :
- j'ai deux tables - j'ai une requête qui lie les 2 tables et qui a un paramètre (on demande à l'utilisateur le nom de l'étudiant pour lequel on souhaite les infos)
Ce que je tente de faire dans un module : - lancer ma requête - récupérer le résultat de celle-ci (donnée + champs) et le copier dans une nouvelle table.
Voici comment je procéde :
Code: Option Compare Database Option Explicit Global gs_val As String
Public Function set_val(val As String) As String gs_val = val End Function
Public Function get_val() As String get_val = gs_val End Function
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(get_val()) = strParameter Set stateQuery = qdState.OpenRecordset End Function
Sub Export() Dim cnn As New ADODB.Connection Dim NOM As String
NOM = InputBox("nom") set_val NOM
Call stateQuery("Requête1", get_val) CurrentDb.Execute "SELECT * INTO [Table_vidage] FROM [Requête1] ;" End Sub
Or il me génère une erreur sur la ligne suivante ("Elément non trouvé dans cette collection"): Code: qdState.Parameters(get_val()) = strParameter
Aussi, j'ai bien mis le critère suivant dans ma requête : get_val() Voici ma requête : Code: SELECT Table1.Prénom, Table1.Nom, Table2.Adresse, Table2.Ville FROM Table1 INNER JOIN Table2 ON Table1.Nom = Table2.Nom WHERE (((Table1.Nom)=get_val()));
Sauriez-vous comment remédier à mon souci ?
Merci d'avance et à bientôt
Bonsoir,
Je m'explique plus en détail d'autant plus que je vous propose ce que
j'ai fait pour le moment :
- j'ai deux tables
- j'ai une requête qui lie les 2 tables et qui a un paramètre (on
demande à l'utilisateur le nom de l'étudiant pour lequel on souhaite
les infos)
Ce que je tente de faire dans un module :
- lancer ma requête
- récupérer le résultat de celle-ci (donnée + champs) et le copier
dans une nouvelle table.
Voici comment je procéde :
Code:
Option Compare Database
Option Explicit
Global gs_val As String
Public Function set_val(val As String) As String
gs_val = val
End Function
Public Function get_val() As String
get_val = gs_val
End Function
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(get_val()) = strParameter
Set stateQuery = qdState.OpenRecordset
End Function
Sub Export()
Dim cnn As New ADODB.Connection
Dim NOM As String
NOM = InputBox("nom")
set_val NOM
Call stateQuery("Requête1", get_val)
CurrentDb.Execute "SELECT * INTO [Table_vidage] FROM [Requête1] ;"
End Sub
Or il me génère une erreur sur la ligne suivante ("Elément non trouvé
dans cette collection"):
Code:
qdState.Parameters(get_val()) = strParameter
Aussi, j'ai bien mis le critère suivant dans ma requête : get_val()
Voici ma requête :
Code:
SELECT Table1.Prénom, Table1.Nom, Table2.Adresse, Table2.Ville
FROM Table1 INNER JOIN Table2 ON Table1.Nom = Table2.Nom
WHERE (((Table1.Nom)=get_val()));
Je m'explique plus en détail d'autant plus que je vous propose ce que j'ai fait pour le moment :
- j'ai deux tables - j'ai une requête qui lie les 2 tables et qui a un paramètre (on demande à l'utilisateur le nom de l'étudiant pour lequel on souhaite les infos)
Ce que je tente de faire dans un module : - lancer ma requête - récupérer le résultat de celle-ci (donnée + champs) et le copier dans une nouvelle table.
Voici comment je procéde :
Code: Option Compare Database Option Explicit Global gs_val As String
Public Function set_val(val As String) As String gs_val = val End Function
Public Function get_val() As String get_val = gs_val End Function
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(get_val()) = strParameter Set stateQuery = qdState.OpenRecordset End Function
Sub Export() Dim cnn As New ADODB.Connection Dim NOM As String
NOM = InputBox("nom") set_val NOM
Call stateQuery("Requête1", get_val) CurrentDb.Execute "SELECT * INTO [Table_vidage] FROM [Requête1] ;" End Sub
Or il me génère une erreur sur la ligne suivante ("Elément non trouvé dans cette collection"): Code: qdState.Parameters(get_val()) = strParameter
Aussi, j'ai bien mis le critère suivant dans ma requête : get_val() Voici ma requête : Code: SELECT Table1.Prénom, Table1.Nom, Table2.Adresse, Table2.Ville FROM Table1 INNER JOIN Table2 ON Table1.Nom = Table2.Nom WHERE (((Table1.Nom)=get_val()));
Sauriez-vous comment remédier à mon souci ?
Merci d'avance et à bientôt
Raymond [mvp]
On va refaire le point car tu mélanges ado et dao et tu compliques la procédure. le principe simple pour faire ce que tu veux faire est une requête création de table ou une requête ajout selon que la table existe ou non. pour exécuter une requête avec paramètres et créer une table avec les éléments résultant de la requête tu dois faire au minimum ceci, en simplifiant: Dim Db As DAO.Database Dim Qry As DAO.QueryDef Dim Etudiant As String Etudiant = InputBox("Nom de l'étudiant") Set Db = CurrentDb Set Qry = Db.QueryDefs("requête1") Qry.Parameters("Nom de l'étudiant").Value = Etudiant Qry.Execute Qry.Close Set Qry = Nothing Set Db = Nothing ça , ça marche.
Ta requête création nommée Requête1 doit contenir: SELECT table1.Prénom, table1.Nom, TABLE2.Adresse, TABLE2.Ville INTO TABLE4 FROM table1 INNER JOIN TABLE2 ON table1.Nom= TABLE2.Nom WHERE (((table1.Nom)=[Nom de l'étudiant]));
ça doit fonctionner.
-- @+ 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:
Bonsoir,
Je m'explique plus en détail d'autant plus que je vous propose ce que j'ai fait pour le moment :
- j'ai deux tables - j'ai une requête qui lie les 2 tables et qui a un paramètre (on demande à l'utilisateur le nom de l'étudiant pour lequel on souhaite les infos)
Ce que je tente de faire dans un module : - lancer ma requête - récupérer le résultat de celle-ci (donnée + champs) et le copier dans une nouvelle table.
Voici comment je procéde :
Code: Option Compare Database Option Explicit Global gs_val As String
Public Function set_val(val As String) As String gs_val = val End Function
Public Function get_val() As String get_val = gs_val End Function
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(get_val()) = strParameter Set stateQuery = qdState.OpenRecordset End Function
Sub Export() Dim cnn As New ADODB.Connection Dim NOM As String
NOM = InputBox("nom") set_val NOM
Call stateQuery("Requête1", get_val) CurrentDb.Execute "SELECT * INTO [Table_vidage] FROM [Requête1] ;" End Sub
Or il me génère une erreur sur la ligne suivante ("Elément non trouvé dans cette collection"): Code: qdState.Parameters(get_val()) = strParameter
Aussi, j'ai bien mis le critère suivant dans ma requête : get_val() Voici ma requête : Code: SELECT Table1.Prénom, Table1.Nom, Table2.Adresse, Table2.Ville FROM Table1 INNER JOIN Table2 ON Table1.Nom = Table2.Nom WHERE (((Table1.Nom)=get_val()));
Sauriez-vous comment remédier à mon souci ?
Merci d'avance et à bientôt
On va refaire le point car tu mélanges ado et dao et tu compliques la
procédure.
le principe simple pour faire ce que tu veux faire est une requête création
de table ou une requête ajout selon que la table existe ou non.
pour exécuter une requête avec paramètres et créer une table avec les
éléments résultant de la requête tu dois faire au minimum ceci, en
simplifiant:
Dim Db As DAO.Database
Dim Qry As DAO.QueryDef
Dim Etudiant As String
Etudiant = InputBox("Nom de l'étudiant")
Set Db = CurrentDb
Set Qry = Db.QueryDefs("requête1")
Qry.Parameters("Nom de l'étudiant").Value = Etudiant
Qry.Execute
Qry.Close
Set Qry = Nothing
Set Db = Nothing
ça , ça marche.
Ta requête création nommée Requête1 doit contenir:
SELECT table1.Prénom, table1.Nom, TABLE2.Adresse, TABLE2.Ville INTO TABLE4
FROM table1 INNER JOIN TABLE2 ON table1.Nom= TABLE2.Nom WHERE
(((table1.Nom)=[Nom de l'étudiant]));
ça doit fonctionner.
--
@+
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.0402101056.530cd02c@posting.google.com...
Bonsoir,
Je m'explique plus en détail d'autant plus que je vous propose ce que
j'ai fait pour le moment :
- j'ai deux tables
- j'ai une requête qui lie les 2 tables et qui a un paramètre (on
demande à l'utilisateur le nom de l'étudiant pour lequel on souhaite
les infos)
Ce que je tente de faire dans un module :
- lancer ma requête
- récupérer le résultat de celle-ci (donnée + champs) et le copier
dans une nouvelle table.
Voici comment je procéde :
Code:
Option Compare Database
Option Explicit
Global gs_val As String
Public Function set_val(val As String) As String
gs_val = val
End Function
Public Function get_val() As String
get_val = gs_val
End Function
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(get_val()) = strParameter
Set stateQuery = qdState.OpenRecordset
End Function
Sub Export()
Dim cnn As New ADODB.Connection
Dim NOM As String
NOM = InputBox("nom")
set_val NOM
Call stateQuery("Requête1", get_val)
CurrentDb.Execute "SELECT * INTO [Table_vidage] FROM [Requête1] ;"
End Sub
Or il me génère une erreur sur la ligne suivante ("Elément non trouvé
dans cette collection"):
Code:
qdState.Parameters(get_val()) = strParameter
Aussi, j'ai bien mis le critère suivant dans ma requête : get_val()
Voici ma requête :
Code:
SELECT Table1.Prénom, Table1.Nom, Table2.Adresse, Table2.Ville
FROM Table1 INNER JOIN Table2 ON Table1.Nom = Table2.Nom
WHERE (((Table1.Nom)=get_val()));
On va refaire le point car tu mélanges ado et dao et tu compliques la procédure. le principe simple pour faire ce que tu veux faire est une requête création de table ou une requête ajout selon que la table existe ou non. pour exécuter une requête avec paramètres et créer une table avec les éléments résultant de la requête tu dois faire au minimum ceci, en simplifiant: Dim Db As DAO.Database Dim Qry As DAO.QueryDef Dim Etudiant As String Etudiant = InputBox("Nom de l'étudiant") Set Db = CurrentDb Set Qry = Db.QueryDefs("requête1") Qry.Parameters("Nom de l'étudiant").Value = Etudiant Qry.Execute Qry.Close Set Qry = Nothing Set Db = Nothing ça , ça marche.
Ta requête création nommée Requête1 doit contenir: SELECT table1.Prénom, table1.Nom, TABLE2.Adresse, TABLE2.Ville INTO TABLE4 FROM table1 INNER JOIN TABLE2 ON table1.Nom= TABLE2.Nom WHERE (((table1.Nom)=[Nom de l'étudiant]));
ça doit fonctionner.
-- @+ 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:
Bonsoir,
Je m'explique plus en détail d'autant plus que je vous propose ce que j'ai fait pour le moment :
- j'ai deux tables - j'ai une requête qui lie les 2 tables et qui a un paramètre (on demande à l'utilisateur le nom de l'étudiant pour lequel on souhaite les infos)
Ce que je tente de faire dans un module : - lancer ma requête - récupérer le résultat de celle-ci (donnée + champs) et le copier dans une nouvelle table.
Voici comment je procéde :
Code: Option Compare Database Option Explicit Global gs_val As String
Public Function set_val(val As String) As String gs_val = val End Function
Public Function get_val() As String get_val = gs_val End Function
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(get_val()) = strParameter Set stateQuery = qdState.OpenRecordset End Function
Sub Export() Dim cnn As New ADODB.Connection Dim NOM As String
NOM = InputBox("nom") set_val NOM
Call stateQuery("Requête1", get_val) CurrentDb.Execute "SELECT * INTO [Table_vidage] FROM [Requête1] ;" End Sub
Or il me génère une erreur sur la ligne suivante ("Elément non trouvé dans cette collection"): Code: qdState.Parameters(get_val()) = strParameter
Aussi, j'ai bien mis le critère suivant dans ma requête : get_val() Voici ma requête : Code: SELECT Table1.Prénom, Table1.Nom, Table2.Adresse, Table2.Ville FROM Table1 INNER JOIN Table2 ON Table1.Nom = Table2.Nom WHERE (((Table1.Nom)=get_val()));
Sauriez-vous comment remédier à mon souci ?
Merci d'avance et à bientôt
jorie80
Bonjour,
Suite à votre mess, j'ai procédé comme suit. Or, il y a un pb : "Erreur d'exécution '3061' : Trop peu de paramètres. 1 attendu. " Cette erreur pointe sur la ligne de code suivante : CurrentDb.Execute "SELECT * INTO [Table_vidage] FROM [Requête1] ;"
Sub Export()
Dim Db As DAO.Database Dim Qry As DAO.QueryDef Dim DATE_T As String DATE_Anniv = InputBox("Entre ta date de naissance") Set Db = CurrentDb Set Qry = Db.QueryDefs("Requête1") Qry.Parameters("Birthday_DATE").Value = DATE_Anniv CurrentDb.Execute "SELECT * INTO [Table_vidage] FROM [Requête1] ;" Qry.Close Set Qry = Nothing Set Db = Nothing
End Sub
Merci de votre précieuse aide,
Bonjour,
Suite à votre mess, j'ai procédé comme suit. Or, il y a un pb :
"Erreur d'exécution '3061' : Trop peu de paramètres. 1 attendu. "
Cette erreur pointe sur la ligne de code suivante : CurrentDb.Execute
"SELECT * INTO [Table_vidage] FROM [Requête1] ;"
Sub Export()
Dim Db As DAO.Database
Dim Qry As DAO.QueryDef
Dim DATE_T As String
DATE_Anniv = InputBox("Entre ta date de naissance")
Set Db = CurrentDb
Set Qry = Db.QueryDefs("Requête1")
Qry.Parameters("Birthday_DATE").Value = DATE_Anniv CurrentDb.Execute
"SELECT * INTO [Table_vidage] FROM [Requête1] ;"
Qry.Close
Set Qry = Nothing
Set Db = Nothing
Suite à votre mess, j'ai procédé comme suit. Or, il y a un pb : "Erreur d'exécution '3061' : Trop peu de paramètres. 1 attendu. " Cette erreur pointe sur la ligne de code suivante : CurrentDb.Execute "SELECT * INTO [Table_vidage] FROM [Requête1] ;"
Sub Export()
Dim Db As DAO.Database Dim Qry As DAO.QueryDef Dim DATE_T As String DATE_Anniv = InputBox("Entre ta date de naissance") Set Db = CurrentDb Set Qry = Db.QueryDefs("Requête1") Qry.Parameters("Birthday_DATE").Value = DATE_Anniv CurrentDb.Execute "SELECT * INTO [Table_vidage] FROM [Requête1] ;" Qry.Close Set Qry = Nothing Set Db = Nothing
End Sub
Merci de votre précieuse aide,
Raymond [mvp]
il ne faut pas relancer ton select, ta requête1 existe. tu n'as pas fait ce que j'ai marqué dans mon post.
Dim Db As DAO.Database Dim Qry As DAO.QueryDef Dim DATE_T As String DATE_Anniv = InputBox("Entre ta date de naissance") Set Db = CurrentDb Set Qry = Db.QueryDefs("Requête1") Qry.Parameters("Birthday_DATE").Value = DATE_Anniv Qry.Execute ' ********************************** ici
Qry.Close Set Qry = Nothing Set Db = Nothing
ta requête a-telle bien Birthday_DATE comme paramètre à entrer ? -- @+ 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,
Suite à votre mess, j'ai procédé comme suit. Or, il y a un pb : "Erreur d'exécution '3061' : Trop peu de paramètres. 1 attendu. " Cette erreur pointe sur la ligne de code suivante : CurrentDb.Execute "SELECT * INTO [Table_vidage] FROM [Requête1] ;"
Sub Export()
Dim Db As DAO.Database Dim Qry As DAO.QueryDef Dim DATE_T As String DATE_Anniv = InputBox("Entre ta date de naissance") Set Db = CurrentDb Set Qry = Db.QueryDefs("Requête1") Qry.Parameters("Birthday_DATE").Value = DATE_Anniv CurrentDb.Execute "SELECT * INTO [Table_vidage] FROM [Requête1] ;" Qry.Close Set Qry = Nothing Set Db = Nothing
End Sub
Merci de votre précieuse aide,
il ne faut pas relancer ton select, ta requête1 existe. tu n'as pas fait ce
que j'ai marqué dans mon post.
Dim Db As DAO.Database
Dim Qry As DAO.QueryDef
Dim DATE_T As String
DATE_Anniv = InputBox("Entre ta date de naissance")
Set Db = CurrentDb
Set Qry = Db.QueryDefs("Requête1")
Qry.Parameters("Birthday_DATE").Value = DATE_Anniv
Qry.Execute ' ********************************** ici
Qry.Close
Set Qry = Nothing
Set Db = Nothing
ta requête a-telle bien Birthday_DATE comme paramètre à entrer ?
--
@+
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.0402110109.584a578f@posting.google.com...
Bonjour,
Suite à votre mess, j'ai procédé comme suit. Or, il y a un pb :
"Erreur d'exécution '3061' : Trop peu de paramètres. 1 attendu. "
Cette erreur pointe sur la ligne de code suivante : CurrentDb.Execute
"SELECT * INTO [Table_vidage] FROM [Requête1] ;"
Sub Export()
Dim Db As DAO.Database
Dim Qry As DAO.QueryDef
Dim DATE_T As String
DATE_Anniv = InputBox("Entre ta date de naissance")
Set Db = CurrentDb
Set Qry = Db.QueryDefs("Requête1")
Qry.Parameters("Birthday_DATE").Value = DATE_Anniv CurrentDb.Execute
"SELECT * INTO [Table_vidage] FROM [Requête1] ;"
Qry.Close
Set Qry = Nothing
Set Db = Nothing
il ne faut pas relancer ton select, ta requête1 existe. tu n'as pas fait ce que j'ai marqué dans mon post.
Dim Db As DAO.Database Dim Qry As DAO.QueryDef Dim DATE_T As String DATE_Anniv = InputBox("Entre ta date de naissance") Set Db = CurrentDb Set Qry = Db.QueryDefs("Requête1") Qry.Parameters("Birthday_DATE").Value = DATE_Anniv Qry.Execute ' ********************************** ici
Qry.Close Set Qry = Nothing Set Db = Nothing
ta requête a-telle bien Birthday_DATE comme paramètre à entrer ? -- @+ 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,
Suite à votre mess, j'ai procédé comme suit. Or, il y a un pb : "Erreur d'exécution '3061' : Trop peu de paramètres. 1 attendu. " Cette erreur pointe sur la ligne de code suivante : CurrentDb.Execute "SELECT * INTO [Table_vidage] FROM [Requête1] ;"
Sub Export()
Dim Db As DAO.Database Dim Qry As DAO.QueryDef Dim DATE_T As String DATE_Anniv = InputBox("Entre ta date de naissance") Set Db = CurrentDb Set Qry = Db.QueryDefs("Requête1") Qry.Parameters("Birthday_DATE").Value = DATE_Anniv CurrentDb.Execute "SELECT * INTO [Table_vidage] FROM [Requête1] ;" Qry.Close Set Qry = Nothing Set Db = Nothing
End Sub
Merci de votre précieuse aide,
jorie80
Voili, j'ai réparé le code comme suit. Cependant, une erreur persiste du type "Elément non trouvé dans cette collection"... Comment y remédier ?
Aussi, je ne vois pas dans le code où les données de la requête1 sont vidées dans une nouvelle table. Il faut bien le préciser pourtant, nan ?
merci de votre précieuse aide,
Sub test()
Dim Db As DAO.Database Dim Qry As DAO.QueryDef Dim DATE_Anniv As String
DATE_Anniv = InputBox("Entre ta date de naissance") Set Db = CurrentDb Set Qry = Db.QueryDefs("Requête1") Qry.Parameters("B_DATE").Value = DATE_Anniv Qry.Execute Qry.Close Set Qry = Nothing Set Db = Nothing
End Sub
Voili, j'ai réparé le code comme suit. Cependant, une erreur persiste
du type "Elément non trouvé dans cette collection"...
Comment y remédier ?
Aussi, je ne vois pas dans le code où les données de la requête1 sont
vidées dans une nouvelle table. Il faut bien le préciser pourtant, nan
?
merci de votre précieuse aide,
Sub test()
Dim Db As DAO.Database
Dim Qry As DAO.QueryDef
Dim DATE_Anniv As String
DATE_Anniv = InputBox("Entre ta date de naissance")
Set Db = CurrentDb
Set Qry = Db.QueryDefs("Requête1")
Qry.Parameters("B_DATE").Value = DATE_Anniv
Qry.Execute
Qry.Close
Set Qry = Nothing
Set Db = Nothing
Voili, j'ai réparé le code comme suit. Cependant, une erreur persiste du type "Elément non trouvé dans cette collection"... Comment y remédier ?
Aussi, je ne vois pas dans le code où les données de la requête1 sont vidées dans une nouvelle table. Il faut bien le préciser pourtant, nan ?
merci de votre précieuse aide,
Sub test()
Dim Db As DAO.Database Dim Qry As DAO.QueryDef Dim DATE_Anniv As String
DATE_Anniv = InputBox("Entre ta date de naissance") Set Db = CurrentDb Set Qry = Db.QueryDefs("Requête1") Qry.Parameters("B_DATE").Value = DATE_Anniv Qry.Execute Qry.Close Set Qry = Nothing Set Db = Nothing
End Sub
Raymond [mvp]
Affiche ta requête ici pour voir. il y a aussi une possibilité d'erreur sur la date car vba envoie la date sous sa forme US.
-- @+ 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:
Voili, j'ai réparé le code comme suit. Cependant, une erreur persiste du type "Elément non trouvé dans cette collection"... Comment y remédier ?
Aussi, je ne vois pas dans le code où les données de la requête1 sont vidées dans une nouvelle table. Il faut bien le préciser pourtant, nan ?
merci de votre précieuse aide,
Sub test()
Dim Db As DAO.Database Dim Qry As DAO.QueryDef Dim DATE_Anniv As String
DATE_Anniv = InputBox("Entre ta date de naissance") Set Db = CurrentDb Set Qry = Db.QueryDefs("Requête1") Qry.Parameters("B_DATE").Value = DATE_Anniv Qry.Execute Qry.Close Set Qry = Nothing Set Db = Nothing
End Sub
Affiche ta requête ici pour voir.
il y a aussi une possibilité d'erreur sur la date car vba envoie la date
sous sa forme US.
--
@+
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.0402110724.376bd67@posting.google.com...
Voili, j'ai réparé le code comme suit. Cependant, une erreur persiste
du type "Elément non trouvé dans cette collection"...
Comment y remédier ?
Aussi, je ne vois pas dans le code où les données de la requête1 sont
vidées dans une nouvelle table. Il faut bien le préciser pourtant, nan
?
merci de votre précieuse aide,
Sub test()
Dim Db As DAO.Database
Dim Qry As DAO.QueryDef
Dim DATE_Anniv As String
DATE_Anniv = InputBox("Entre ta date de naissance")
Set Db = CurrentDb
Set Qry = Db.QueryDefs("Requête1")
Qry.Parameters("B_DATE").Value = DATE_Anniv
Qry.Execute
Qry.Close
Set Qry = Nothing
Set Db = Nothing
Affiche ta requête ici pour voir. il y a aussi une possibilité d'erreur sur la date car vba envoie la date sous sa forme US.
-- @+ 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:
Voili, j'ai réparé le code comme suit. Cependant, une erreur persiste du type "Elément non trouvé dans cette collection"... Comment y remédier ?
Aussi, je ne vois pas dans le code où les données de la requête1 sont vidées dans une nouvelle table. Il faut bien le préciser pourtant, nan ?
merci de votre précieuse aide,
Sub test()
Dim Db As DAO.Database Dim Qry As DAO.QueryDef Dim DATE_Anniv As String
DATE_Anniv = InputBox("Entre ta date de naissance") Set Db = CurrentDb Set Qry = Db.QueryDefs("Requête1") Qry.Parameters("B_DATE").Value = DATE_Anniv Qry.Execute Qry.Close Set Qry = Nothing Set Db = Nothing