Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/04/2011, 16h18   #1
Membre à l'essai
 
Inscription : mars 2006
Messages : 126
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 126
Points : 22
Points : 22
Par défaut erreur sur l'export

Bonjour,
J'ai réalisé un formulaire double affichage, créé des zones de liste et avec un select case, je peux afficher les données sélectionné dans ces zones de listes grâce à différentes requête sql.

maintenant j'aimerais réalisé un export excel de mes résultats grâce à un bouton.
J'ai insérer dans un module un code openfilename puis une procédure évènementiel sur le bouton "DoCmd.TransferSpreadsheet acExport, table, showOpen".


J'ai réalisé un "into table" sur mes requêtes sql et j'essaye d'appeler cette table avec le docmd, mais j'ai une erreur 3011 " la requête ne peut être utilisé comme contenu??

j'ai essayé avec cette discussion http://www.developpez.net/forums/d10...rt-excel-plus/

mais j'ai un message d'erreur ' access ne peut pas ouvrir ou écrire sur le fichier ...xls, il est déjà ouvert en mode exclusif ou vous devez avoir l'autorisation d'écrire sur ces données"

comment puis je faire cet export ?

merci de votre aide
bernards111 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 10h32   #2
Membre Expert
 
Inscription : août 2006
Messages : 1 435
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 435
Points : 1 753
Points : 1 753
Bonjour,
Sont-ce les requetes ou des tables qui sont exportées ?
Je ne comprends pas le code openfilename.
Apparemment ce sont des requetes Creation de table, elles ne peuvent donc être utilisées pour l'exportation. Il faut exporter les tables crées.
et pour finir, l'exportation doit se faire sur un nouveau fichier ou ecraser l'ancien si celui-ci est fermé
helas est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/04/2011, 11h10   #3
Membre à l'essai
 
Inscription : mars 2006
Messages : 126
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 126
Points : 22
Points : 22
Bonjour

code openfilename >>

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Option Compare Database
 
Private Type OPENFILENAME   'function qui permet d'ouvrir une fen^tre d'enregistrement ou de chargement windows
     lStructSize As Long
     hwndOwner As Long
     hInstance As Long
     lpstrFilter As String
     lpstrCustomFilter As String
     nMaxCustFilter As Long
     nFilterIndex As Long
     lpstrFile As String
     nMaxFile As Long
     lpstrFileTitle As String
     nMaxFileTitle As Long
     lpstrInitialDir As String
     lpstrTitle As String
     flags As Long
     nFileOffset As Integer
     nFileExtension As Integer
     lpstrDefExt As String
     lCustData As Long
     lpfnHook As Long
     lpTemplateName As String
 End Type
 
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
Private Declare Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Long
 
 
Function ShowOpen()
 
 
Dim nomcomplet As String         'nom de variable récupérant le chemin du fichier
 
 
'Liaison base stock
Dim OFName As OPENFILENAME
 
     OFName.lStructSize = Len(OFName)
     OFName.hwndOwner = 0
     OFName.hInstance = Application.hWndAccessApp
     OFName.lpstrFilter = "Fichier (*.*)" + Chr$(0) + "*.*" + Chr$(0)
     OFName.lpstrFile = Space$(254)
     OFName.nMaxFile = 255
     OFName.lpstrFileTitle = Space$(254)
     OFName.nMaxFileTitle = 255
     OFName.lpstrInitialDir = "C:\"
     OFName.lpstrTitle = "Ouvrir..."
     OFName.flags = 0
 
If GetOpenFileName(OFName) Then
         ShowOpen = Trim$(OFName.lpstrFile)
Else
         ShowOpen = ""
End If
 
End Function
En fait j'insère mes requête dans une table que j'exporte en excel par la suite. mon problème c'est que j'avais laissé un form.recordsource = nom de ma requête. Et il me donnait l'erreur 3323. j'ai effacé cette ligne et mon export fonctionne bien. je sais pas si c'est la meilleur solution (je débute un peu) mais bon ça roule!!

merci
bernards111 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h53.


 
 
 
 
Partenaires

Hébergement Web