script DBASE via EXCEL

L

LOULOU

Guest
Bonjour, voila j'utilise docubase , je recupére des fichiers textes que j'utilise apres sur excel via une macro.
Seulement je dois recuperer les fichiers dbase manuelement, ya t'il une possibilitée via une macro excel d'ecrire un scipt pour recuperer automatiquement les fichiers dbase: faire la requete dbase, ouvrir les fichiers, les enregistrer au format texte dans un fichier definit, merci d'avance :)
 

MichelXld

XLDnaute Barbatruc
bonsoir Loulou

cette procédure permet d'exporter le contenu d'un fichier DBF dans un fichier texte . le séparateur utilisé est le point virgule ';'


'necessite d'activer la reference Microsoft ActiveX Data Objects x.x Library
Dim Cn As ADODB.Connection
Dim Rs As ADODB.Recordset
Dim Chemin As String, Cible As String, laBase As String

Chemin = 'C:\\\\\\\\Documents and Settings\\\\\\\\michel\\\\\\\\dossier'
laBase = 'maBase.dbf'

Set Cn = New ADODB.Connection
Cn.Open _
'Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=' & _
Chemin & ';'

Cible = 'SELECT * FROM ' & laBase & ';'

Set Rs = New Recordset
Rs.Open Cible, Cn, adOpenKeyset, adLockOptimistic

Open 'C:\\\\\\\\monFichier.txt' For Output As #1
Do Until Rs.EOF
Print #1, Rs.GetString(, 600, ';', vbCrLf, '');
Loop
Close #1

Rs.Close
Cn.Close




bonne soirée
MichelXld
 
L

LOULOU

Guest
mercipour ta reponce, mais pourrait tu me donner quelque info sur ta macro ,stp
elle fait la requete ou il fo que je la fasse sur dbase .
ma requete recupaire plusieur fichier en meme temps, je doit les ouvrir avec le bloc note et les enregistrer sur mon diske au format texte pour les recuperer sur excel. la macro permet elle de de recuperer les fichier dbase directement sans que je doive les ouvrir et les enregictrer au format texte.
et pourrai tu m indiquer quelle sont les formules a adapter si besoin dans la macro
chemin d'acces
nom de la requette
ect ect
merci d'avance
 

MichelXld

XLDnaute Barbatruc
rebonsoir

Tu places cette macro dans Excel . Tu n'as pas besoin d'ouvrir ton fichier .dbf
La macro va exporter les données du fichier dbf 'maBase.dbf' dans un fichier texte 'C:\\\\\\\\monFichier.txt'

Dans cet exemple, le fichier 'maBase.dbf' est dans le répertoire ''C:\\\\\\\\Documents and Settings\\\\\\\\michel\\\\\\\\dossier' '

Tu dois préalablement activer la reference 'Microsoft ActiveX Data Objects x.x Library'
Tu vas dans l'editeur de macros ( Alt+F11)
Menu Outils
References
Coche la ligne 'Microsoft ActiveX Data Objects x.x Library'
Clique sur OK pour valider


'necessite d'activer la reference Microsoft ActiveX Data Objects x.x Library
Dim Cn As ADODB.Connection
Dim Rs As ADODB.Recordset
Dim Chemin As String, Cible As String, laBase As String

Chemin = 'C:\\\\\\\\Documents and Settings\\\\\\\\michel\\\\\\\\dossier' 'adapter le repertoire contenant le fichier .dbf
laBase = 'maBase.dbf' 'adapter le nom de la base

Set Cn = New ADODB.Connection 'connection ADO à la base
Cn.Open _
'Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=' & _
Chemin & ';'

Cible = 'SELECT * FROM ' & laBase & ';' 'parametrage de la requete

Set Rs = New Recordset
Rs.Open Cible, Cn, adOpenKeyset, adLockOptimistic 'requete

Open 'C:\\\\\\\\monFichier.txt' For Output As #1 'export des données dans le fichier texte
Do Until Rs.EOF
Print #1, Rs.GetString(, 600, ';', vbCrLf, '');
Loop
Close #1

Rs.Close
Cn.Close 'fermeture connection




pour le reste je n'ai pas compris le sens de ton message


bonne soiree
MichelXld
 
L

LOULOU

Guest
C'est bien ce que j'avais compris , lollll
apparement je dois faire ma requete avec dbase et enregistrer les fichier dans le répertoire \\'\\'C:\\\\Documents and
Settings\\\\michel\\\\dossier\\' \\'
et apres la macro va les exporter en fichiers textes dans \\'C:\\\\monFichier.txt\\'.
C'est bien la macro que je recherche mais ma requete dbase me rapporte des dizaines de fichiers que je devrais enregistrer dans \\'\\'C:\\\\Documents and
Settings\\\\michel\\\\dossier\\' \\', n'est serait'il pas possible que la macro recupaire directement les fichiers issu de la requete et les enregistres dans \\'\\'C:\\\\Documents and
Settings\\\\michel\\\\dossier\\' \\' et les exportes ensuite en fichiers textes dans \\'C:\\\\monFichier.txt\\' ? .merci pour ta participation MichelXld :)
 
L

LOULOU

Guest
Décidement j'ai du mal à me faire comprendre, lolll.
j'ai pas dbase sur ce pc, mais demain je vai faire une copie d'ecran de la procedure pour faire ma requete dbaze, je pence que tu comprendra mieu, merci encore pour ta patience
 

Discussions similaires

Réponses
22
Affichages
4 K

Statistiques des forums

Discussions
312 497
Messages
2 088 992
Membres
104 000
dernier inscrit
dinelcia