Transfert d'une table Access vers un fichier , sous VB6 [Résolu]

Messages postés
93
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
27 février 2005
- - Dernière réponse : cs_kimou75
Messages postés
93
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
27 février 2005
- 24 févr. 2005 à 10:21
bonjour.

je travail sur une base de donnée où je modifie des tables.chaque mois, ce sont des nouvelles tables qui doivent etres mis à la place, donc je dois transferer mes tables vers un fichier text ou exel.
je dois lancer cette manip directement de mon application sous VB6.

pourriez-vous me dire comment faire s'il vous plais ?

merci
Afficher la suite 

11 réponses

Meilleure réponse
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
6
3
Merci
Oui, effectivement, j'ai du lire en diagonale, il manque un rs.movenext juste avant le loop.

Loup Gris

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 131 internautes nous ont dit merci ce mois-ci

Messages postés
26
Date d'inscription
jeudi 27 janvier 2005
Statut
Membre
Dernière intervention
10 mai 2005
0
Merci
Salut;)

Open "C:\Dossier\Nom_fichier" for Output as #1 'ici tu crées le fichier en indiquant son chemin d'accès et en lui attribuant un nom

call database 'ouvre ta base de données
rs.open (ta table) 'ouvre ta table
do until rs.EOF 'tant que le fichier n'est pas à la fin

print #1, rs![nom champ] & ";" & rs![nom champ].................. 'tu inscris les données de la table dans le fichier.

Loop

close (table) 'fermeture de ta table
Close #1 'fermeture du fichier text
ici tu fermes ta base de données

Marnilla
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
6
0
Merci
Ou alors, en utilisant les fonctions d'export d'access directement :

' Ne pas oublier de cocher la référence dans Projet
' "Microsoft Access x.x Object Library"
'
'
Private Sub Command1_Click()
Dim obj_Access As Access.Application
Dim Nom_Base_Access As String
Dim Nom_Fichier As String
Dim Nom_Table As String


Nom_Fichier = "c:\temp\essai.xls" ' ou txt
Nom_Base_Access = "c:\temp\bd1.mdb"
Nom_Table = "Table1"


' Création d'un objet Access
Set obj_Access = New Access.Application

' Ouverture de la base Access
obj_Access.OpenCurrentDatabase Nom_Base_Access

' Si mot de passe
'SendKeys MotDePasse & "~"

' Exportation de la table vers un fichier excel
obj_Access.DoCmd.TransferSpreadsheet acExport, , Nom_Table, Nom_Fichier, True
' Exportation de la table vers un fichier texte
'obj_Access.DoCmd.TransferText acExportDelim, ";", Nom_Table, Nom_Fichier, False
' Fermeture de la base
obj_Access.Quit

' Libération de la mémoire
Set obj_Access = Nothing

End Sub

Loup Gris
Messages postés
93
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
27 février 2005
0
Merci
dim objet_access as Acess.application

c'est un type non définie.
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
6
0
Merci
Tu as du oublier de cocher "Microsoft Access x.x Object Library" dans le menu Projet/références

Et ce n'est pas :
dim objet_access as Acess.application
mais
dim objet_access as Access.application
qu'il faut coder.

Loup Gris
Messages postés
93
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
27 février 2005
0
Merci
oui c'est exact, mais il y a encor un probleme, une erreur aparait
comme quoi je ne peux pas accéder à ma base de donnée car elle est deja
ouverte par un utilisateur exclusif.

comment je peux faire stp ?
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
6
0
Merci
C'est une base en réseau ? Et/ou elle est ouverte par un prog ?

Loup Gris
Messages postés
93
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
27 février 2005
0
Merci
non ce n'est pas une base en reseau. mais j'ai créé une application qui

fonctionne sur cette base de donnée access.
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
6
0
Merci
Alors il faut que tu modifies ta méthode d'ouverture dans ton appli.
Ou il y a la possibilité de créer un recordset sur la table à transférer, comme indiqué par Marnilla.

Loup Gris
Messages postés
93
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
27 février 2005
0
Merci
la methode de Marnilla fonctionne tres bien, le probleme c'est que ca boucle
à l'infinie.il s'arete de faire des copies de ma table dans le meme fichier!!
Messages postés
93
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
27 février 2005
0
Merci
merci baucoup CanisLupus et Marnilla. ca marche du tonerre !!!