Access : Export Excel depuis formulaire
Résolu/Fermé
A voir également:
- Access : Export Excel depuis formulaire
- Access appdata - Guide
- Acer quick access - Forum Logiciels
- Exemple base de données access à télécharger gratuit ✓ - Forum Logiciels
- You don't have permission to access this resource ✓ - Forum Réseaux sociaux
- Acer Quick Access - affichage CapsLock, VerrNum - Forum logiciel systeme
14 réponses
Bonjour,
je trouve le "je en crois pas" inutilement blessant ..
1) Merci pour les précisions sur Querydefs/Querydef : à force de chercher j'avais compris qu'il y avait un problème
Cependant la ligne "CurrentDb.QueryDefs("Bolvanka").sql = SQL " qui m'a posé probléme était tirée de l'article que vous mentionniez au début de ce post
Alors, débuter avec comme référence ... une ligne erronée ... ça ne facilite pas les choses !!!!!!!
2) Je pensais que ce qui commençait par "Private Sub ...' devait se terminer par "end sub"
3) En piochant dans les différents posts trouvés sur internet, j'ai trouvé une solution
Dans le module mGeneral j'ai ajouté
Public SQLExportExcel As String
Dans l'instruction construisant ma requete, j'ai ajouté
SQLExportExcel = sql
J'ai ajouté une fonction
Function ExportSQLExcel(sql As String)
Dim qd As QueryDef
DoCmd.DeleteObject acQuery, "essai"
Set qd = CurrentDb.CreateQueryDef("essai", sql)
DoCmd.OutputTo acOutputQuery, "essai", acFormatXLS, "c:\Export_Excel_Achat.xls"
DoCmd.DeleteObject acQuery, "essai"
End Function
J'ai mis 2 fois l'instruction delete car sinon j'avais l'erreur "objet déja existant.."
Et enfin
Private Sub ExportExcel_Click()
On Error GoTo Err_ExportExcel_Click
ExportSQLExcel (SQLExportExcel)
Exit_ExportExcel_Click:
Exit Sub
Err_ExportExcel_Click:
MsgBox Err.Description
Resume Exit_ExportExcel_Click
End Sub
C'est peut être lourd (?) mais ça marche
Il me reste à trouver l'instruction pour que l'export se fasse au même niveau que le fichier de la BBD (car variant selon les PC) et non plus à la racine de c:
Merci encore de votre aide
Bertrand
je trouve le "je en crois pas" inutilement blessant ..
1) Merci pour les précisions sur Querydefs/Querydef : à force de chercher j'avais compris qu'il y avait un problème
Cependant la ligne "CurrentDb.QueryDefs("Bolvanka").sql = SQL " qui m'a posé probléme était tirée de l'article que vous mentionniez au début de ce post
Alors, débuter avec comme référence ... une ligne erronée ... ça ne facilite pas les choses !!!!!!!
2) Je pensais que ce qui commençait par "Private Sub ...' devait se terminer par "end sub"
3) En piochant dans les différents posts trouvés sur internet, j'ai trouvé une solution
Dans le module mGeneral j'ai ajouté
Public SQLExportExcel As String
Dans l'instruction construisant ma requete, j'ai ajouté
SQLExportExcel = sql
J'ai ajouté une fonction
Function ExportSQLExcel(sql As String)
Dim qd As QueryDef
DoCmd.DeleteObject acQuery, "essai"
Set qd = CurrentDb.CreateQueryDef("essai", sql)
DoCmd.OutputTo acOutputQuery, "essai", acFormatXLS, "c:\Export_Excel_Achat.xls"
DoCmd.DeleteObject acQuery, "essai"
End Function
J'ai mis 2 fois l'instruction delete car sinon j'avais l'erreur "objet déja existant.."
Et enfin
Private Sub ExportExcel_Click()
On Error GoTo Err_ExportExcel_Click
ExportSQLExcel (SQLExportExcel)
Exit_ExportExcel_Click:
Exit Sub
Err_ExportExcel_Click:
MsgBox Err.Description
Resume Exit_ExportExcel_Click
End Sub
C'est peut être lourd (?) mais ça marche
Il me reste à trouver l'instruction pour que l'export se fasse au même niveau que le fichier de la BBD (car variant selon les PC) et non plus à la racine de c:
Merci encore de votre aide
Bertrand
phil232
Messages postés
607
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
31 janvier 2008
178
18 déc. 2007 à 16:03
18 déc. 2007 à 16:03
RTFM
phil232
Messages postés
607
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
31 janvier 2008
178
18 déc. 2007 à 16:46
18 déc. 2007 à 16:46
http://www.zmey.1977.ru/Access_To_Excel.htm
Function OTXLOut(sql As String)
DoCmd.OutputTo acOutputQuery, "MyQuery", acFormatXLS, "C:\Test.xls"
End Function
Read
The
Fucking
Manual
Function OTXLOut(sql As String)
DoCmd.OutputTo acOutputQuery, "MyQuery", acFormatXLS, "C:\Test.xls"
End Function
Read
The
Fucking
Manual
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci, j'ai au moins appris la signification de RTFM (ça se devine pas :-)
Je comprends le sens de cette fonction, mais je ne sais comment l'implanter :
Je voudrais lancer l'export via un bouton sur le formulaire
Dans mon formulaire, dans un "Private Sub" nommé RefreshQuery ma requete se construit dynamiquement et se présente sous la forme d'un texte appelé SQL
Si j'ai bien compris je dois créer un autre "paragraphe" à la suite des autres commençant par "function"
Sur clic sur le bouton, dans le "private sub" associé j'appelle la fonction OTXLOut, mais comment lui transférer la valeur de SQL ? (soit MyQuery)
Je sais que je ne suis pas clair, mais j'avais prévenu
en tout cas , merci de votre patience
Bertrand
Je comprends le sens de cette fonction, mais je ne sais comment l'implanter :
Je voudrais lancer l'export via un bouton sur le formulaire
Dans mon formulaire, dans un "Private Sub" nommé RefreshQuery ma requete se construit dynamiquement et se présente sous la forme d'un texte appelé SQL
Si j'ai bien compris je dois créer un autre "paragraphe" à la suite des autres commençant par "function"
Sur clic sur le bouton, dans le "private sub" associé j'appelle la fonction OTXLOut, mais comment lui transférer la valeur de SQL ? (soit MyQuery)
Je sais que je ne suis pas clair, mais j'avais prévenu
en tout cas , merci de votre patience
Bertrand
phil232
Messages postés
607
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
31 janvier 2008
178
18 déc. 2007 à 17:19
18 déc. 2007 à 17:19
myform.datasource.sql
MyQuery.sql
etc.
http://www.zmey.1977.ru/Access_To_Excel.htm
suffit de lire et d'une minute de google
MyQuery.sql
etc.
http://www.zmey.1977.ru/Access_To_Excel.htm
suffit de lire et d'une minute de google
Désolé, mais je suis vraiment trop nul .. mon précédent message n'est même pas passé
J'ai des pb avec la syntaxe
Encore une fois, merci de votre patience
Pourriez vous SVP compléter/corriger
Private Sub RefreshQuery()
Dim sql As String
…
Rem j'obtiens alors ma requête nommée SQL sous forme de texte
End Sub
Private Sub Clicdemonbouton_Click()
OTXLOut
End Sub
Function OTXLOut (sql As String)
DoCmd.OutputTo acOutputQuery, "SQL", acFormatXLS, "C:\Test.xls"
End Function
J'ai des pb avec la syntaxe
Encore une fois, merci de votre patience
Pourriez vous SVP compléter/corriger
Private Sub RefreshQuery()
Dim sql As String
…
Rem j'obtiens alors ma requête nommée SQL sous forme de texte
End Sub
Private Sub Clicdemonbouton_Click()
OTXLOut
End Sub
Function OTXLOut (sql As String)
DoCmd.OutputTo acOutputQuery, "SQL", acFormatXLS, "C:\Test.xls"
End Function
phil232
Messages postés
607
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
31 janvier 2008
178
20 déc. 2007 à 15:30
20 déc. 2007 à 15:30
t'as raison
"Désolé, mais je suis vraiment trop nul "
au lieu de suivre ce que tu trouves dans ce manuel tu voudrais que l'on t'écrive le programme tout fait
MAIS TU L'AURAS PAS
fait tes devoir et après on t'aidera
"Désolé, mais je suis vraiment trop nul "
au lieu de suivre ce que tu trouves dans ce manuel tu voudrais que l'on t'écrive le programme tout fait
MAIS TU L'AURAS PAS
fait tes devoir et après on t'aidera
Bonne pédagogie, que je ne peux qu'aprouver car l'appliquant à mes gosses !
Je vais ré-essayer mes devoirs, mais je ne trouve pas le rapport avec les
"myform.datasource.sql
MyQuery.sql "
Je cherche ..
Merci
Je vais ré-essayer mes devoirs, mais je ne trouve pas le rapport avec les
"myform.datasource.sql
MyQuery.sql "
Je cherche ..
Merci
Bonjour,
J'ai bien galéré er cherché, mais ça ne marche toujours pas !
Pour simplifier les choses, j'ai mis l'instruction directement dans la function créant la sql
J'ai toujours l'erreur 3265 "Element non trouvé dans cette collection" sur la ligne
CurrentDb.QueryDefs("Bolvanka").sql = SQL sachant que SQL a la bonne valeur (ma requéte)
Dans l'explorateur d'objets la fonction QueryDefs n'existait pas,
J'ai donc ajouté dans outil/références Microsoft DAO 3.6 et ADO ext 2.8
Dans l'explorateur d'objets, j'ai donc bien maintenant
Bibliothéque DAO, class Querydef (sans s) avec comme membre possible SQL
Bibliothéque DAO, class Querydefs (avec s) avec comme membre Append, count, .. mais sans SQL
J'ai essayé d'enlever le s à Querydef
Toujours le même résultat et la même erreur
Là j'avoue sécher !!!
Merci de votre aide
Bertrand
J'ai bien galéré er cherché, mais ça ne marche toujours pas !
Pour simplifier les choses, j'ai mis l'instruction directement dans la function créant la sql
J'ai toujours l'erreur 3265 "Element non trouvé dans cette collection" sur la ligne
CurrentDb.QueryDefs("Bolvanka").sql = SQL sachant que SQL a la bonne valeur (ma requéte)
Dans l'explorateur d'objets la fonction QueryDefs n'existait pas,
J'ai donc ajouté dans outil/références Microsoft DAO 3.6 et ADO ext 2.8
Dans l'explorateur d'objets, j'ai donc bien maintenant
Bibliothéque DAO, class Querydef (sans s) avec comme membre possible SQL
Bibliothéque DAO, class Querydefs (avec s) avec comme membre Append, count, .. mais sans SQL
J'ai essayé d'enlever le s à Querydef
Toujours le même résultat et la même erreur
Là j'avoue sécher !!!
Merci de votre aide
Bertrand
phil232
Messages postés
607
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
31 janvier 2008
178
8 janv. 2008 à 14:33
8 janv. 2008 à 14:33
"J'ai bien galéré er cherché"
je ne crois pas
attention !
1. Querydefs : toutes les requets dans la bdd. On peut les compter (Count), effacer (Delete), ajouter (Append), etc.
2. Querydef : une de ces requetes. Elle a un lien vers une base (ConnectionString), un texte SQL qui represente la requete (SQL), etc.
Private Sub Clicdemonbouton_Click()
DoCmd.OutputTo acOutputQuery, "Bolvanka", acFormatXLS, "C:\Test.xls"
End Function
juste pour les bonnes habitudes "Bolvanka" devrait etre nommé "qryBolvanka"
je ne crois pas
attention !
1. Querydefs : toutes les requets dans la bdd. On peut les compter (Count), effacer (Delete), ajouter (Append), etc.
2. Querydef : une de ces requetes. Elle a un lien vers une base (ConnectionString), un texte SQL qui represente la requete (SQL), etc.
Private Sub Clicdemonbouton_Click()
DoCmd.OutputTo acOutputQuery, "Bolvanka", acFormatXLS, "C:\Test.xls"
End Function
juste pour les bonnes habitudes "Bolvanka" devrait etre nommé "qryBolvanka"
phil232
Messages postés
607
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
31 janvier 2008
178
15 janv. 2008 à 14:55
15 janv. 2008 à 14:55
et moi je suis content. je croyais que cette chose ne marcherais plus :
donne un poisson à qqun qui a faim et il mangera un jour, montre lui comment pecher et il mangera pour toujours
tu a progressé de la programmation des macros vers la programmation VBA. c'est un grand pas qui vaut la peine. tu represent le 1% des gens de ce forum qui veulent vraiement faire des efforts. je leve le gobelet et dis "Bienvenu"
donne un poisson à qqun qui a faim et il mangera un jour, montre lui comment pecher et il mangera pour toujours
tu a progressé de la programmation des macros vers la programmation VBA. c'est un grand pas qui vaut la peine. tu represent le 1% des gens de ce forum qui veulent vraiement faire des efforts. je leve le gobelet et dis "Bienvenu"
N'en jetez plus ! j'en rougis :-)
Merci pour tout, j'aurais encore bcp de questions à poser et reviendrai donc prochainement à la charge !
Question subsidiaire : existe t il un site de "visual basic" pour les nuls qui soit bien fait ?
J'en ai parcouru plusieurs, mais sans vraiment en trouver de "clair" et basique (difficile pour qqun connaissant le VB d'expliquer à un ignare ..)
Encore une fois merci
Bertrand
Merci pour tout, j'aurais encore bcp de questions à poser et reviendrai donc prochainement à la charge !
Question subsidiaire : existe t il un site de "visual basic" pour les nuls qui soit bien fait ?
J'en ai parcouru plusieurs, mais sans vraiment en trouver de "clair" et basique (difficile pour qqun connaissant le VB d'expliquer à un ignare ..)
Encore une fois merci
Bertrand