Bonjour
Je dois exporter une table access vers un fichier txt.
Comment faire?
Bonjour
Je dois exporter une table access vers un fichier txt.
Comment faire?
Bonjour,
A partir de Vb.net ou directement via une macro Access?
si mon message a été utile -
si je suis à côté de la plaque -
quand vous avez la réponse à votre question
bonjour sanfour_walhan
Voici en vb.net un exemple (en utilisant "automation" comme avec excel) ,on peut executer TransfertText dans MS Access.
TransfertTex exporte une table dans different format(csv delimited ,sdf(fixed lenght),html etc... ou bien Importe dans la BD un fichier texte(c'est un pipe dans les 2 sens).
Ajoute une reference aux 2 librairies
1/panneau net :cas ou tu as les PIA Offices Installes
-Microsoft.Office.Interop.Access.dll
-Office.dll
2/panneau com : cas ou tu n'as pas les PIA Offices Installes
-Microsoft.Access N°Ver Object Libray.dll
-Microsoft.Office.N°Ver Object Libray.dll
Evidemment il est preferable d'utiliser Ado.Net avec un dataset et un datatable et d'enregistrer le fichier texte avec streamreader....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Imports System.IO Imports Microsoft.Office.Interop.Access Imports Microsoft.Office.Interop Public Class Form1 ' Affiche la MDB & EXECUTE TransfertText Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ' Active un gestionnaire d'erreurs pour cette procédure : Dim oAccess As Access.Application Try Dim cheminDB As String 'chemin d'accès à DB Dim nomTable As String = "table" ' nom de la table à exporter Dim nomFichierTextTable As String = "TableExporte.txt" ' Démarre une nouvelle instance d'Access pour l'Automation : oAccess = New Access.ApplicationClass() ' Vérifie qu'Access est visible : If Not oAccess.Visible Then oAccess.Visible = True ' Détermine le chemin d'accès à DB : cheminDB = Directory.GetCurrentDirectory & "\db1.mdb" ' Ouvre DB en mode partagé : oAccess.OpenCurrentDatabase(filepath:=cheminDB, Exclusive:=False) ' Execute commande TransferText : oAccess.DoCmd.TransferText(AcTextTransferType.acExportDelim, "", nomTable, Directory.GetCurrentDirectory & "\" & nomFichierTextTable, True, "") ' Libère l'objet Application et permet la fermeture d'Access par un utilisateur : If Not oAccess.UserControl Then oAccess.UserControl = True System.Runtime.InteropServices.Marshal.ReleaseComObject(oAccess) oAccess = Nothing Exit Sub Catch ex As Exception MsgBox(Err.Number & ": " & Err.Description, _ MsgBoxStyle.MsgBoxSetForeground, "Error Handler") ' Essaie de quitter Access en raison d'une erreur inattendue : oAccess.Quit(Option:=Access.AcQuitOption.acQuitSaveNone) System.Runtime.InteropServices.Marshal.ReleaseComObject(oAccess) oAccess = Nothing Exit Sub End Try End Sub End Class
bon code....
Merci bien pour votre reponse
Juste un tout petit probleme c'est que j'ai une message d'erreur :
pourtant ma base de données n'est pas en lecture seule.Mise à jour impossible. La base de données ou l’objet est en lecture seule
si vous pouvez m'aider d'avantage.
merci
Quel genre de fichier tu veux? Si c'est un fichier CSV, il y a un paquet de codes sur le net qui permette de le faire.
Il faut donner un peu plus de précision à ton post pour qu'on t'aide et un petit bout de code pour qu'on voit où tu es bloqué![]()
ρs¥
Merci pour vos réponses ca ma beaucoup aider
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager