Transfert d'une table Access vers un fichier , sous VB6

Résolu
cs_kimou75 Messages postés 93 Date d'inscription jeudi 13 janvier 2005 Statut Membre Dernière intervention 27 février 2005 - 21 févr. 2005 à 15:04
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

11 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
23 févr. 2005 à 19:38
Oui, effectivement, j'ai du lire en diagonale, il manque un rs.movenext juste avant le loop.

Loup Gris
3
Marnilla Messages postés 26 Date d'inscription jeudi 27 janvier 2005 Statut Membre Dernière intervention 10 mai 2005
21 févr. 2005 à 17:03
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
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
21 févr. 2005 à 19:25
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
0
cs_kimou75 Messages postés 93 Date d'inscription jeudi 13 janvier 2005 Statut Membre Dernière intervention 27 février 2005
22 févr. 2005 à 09:38
dim objet_access as Acess.application

c'est un type non définie.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
22 févr. 2005 à 17:47
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
0
cs_kimou75 Messages postés 93 Date d'inscription jeudi 13 janvier 2005 Statut Membre Dernière intervention 27 février 2005
22 févr. 2005 à 19:02
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 ?
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
22 févr. 2005 à 19:30
C'est une base en réseau ? Et/ou elle est ouverte par un prog ?

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

fonctionne sur cette base de donnée access.
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
23 févr. 2005 à 08:43
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
0
cs_kimou75 Messages postés 93 Date d'inscription jeudi 13 janvier 2005 Statut Membre Dernière intervention 27 février 2005
23 févr. 2005 à 11:32
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!!
0
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
merci baucoup CanisLupus et Marnilla. ca marche du tonerre !!!
0
Rejoignez-nous