Bonjour et merci de t’être penché sur mon pb, seulement voilà le résultat de mon dump doit avoir cet aspect. A afficher au format "Courier New" dans Word pour que ce soit clair.
*XA VCIF 111222222111
XB VCIF A 00PAPLATE FORME 000000 S Y
XB VCIF A 10PAVCI RANG 000000 S Y
XB VCIF A 20PAVCI ERY 000000 S Y
XB VCIF A 30PAVPC S Y
XB VCIF AA 00PBENS ALT CONSIGNE E
XB VCIF AAD 00PCDEL VEHICULE
XB VCIF AAM 00PCMELE ALT CONSIGNE
XB VCIF AAM10 00PDVTADCI 260000 Y
XB VCIF AAO 00PCMOY ALT
XB VCIF AAO10 00PDAPEIL DET C EXT 380000 Y
XB VCIF AAO15 00PDAPEIL DET C INTER 380000 Y
XB VCIF AAO20 00PDCTLE NAVIG 380000 Y
XB VCIF AAO25 00PDRECEPT GPS 380000 Y
XB VCIF AAO30 00PDANTENNE GPS 380000 Y
XB VCIF AAO35 00PDADAPTATEUR GPS 380000 Y
…
Après avoir cherché sur le net, j’ai réussi à obtenir ça :
*XA VCIF 111222222111
*XA VCIF_FOR 111222222111
*XA VCIF_MTO 111222222111
XB VCIF A 00 P A PLATE FORME 000000 S Y
XB VCIF A 10 P A VCI RANG 000000 S Y
XB VCIF A 20 P A VCI ERY 000000 S Y
XB VCIF A 30 P A VPC 000000 S Y
XB VCIF A98 00 P C INGREDIENTS 980000
XB VCIF AA 00 P B ENS ALT CONSIGNE E
XB VCIF AAD 00 P C DEL VEHICULE
XB VCIF AAM 00 P C MELE ALT CONSIGNE
XB VCIF AAM10 00 P D VTADCI 260000 Y
XB VCIF AAO 00 P C MOY ALT
XB VCIF AAO10 00 P D APEIL DET C EXT 380000 Y
XB VCIF AAO15 00 P D APEIL DET C INTER 380000 Y
XB VCIF AAO20 00 P D CTLE NAVIG 380000 Y
XB VCIF AAO25 00 P D RECEPT GPS 380000 Y
XB VCIF AAO30 00 P D ANTENNE GPS 380000 Y
XB VCIF AAO35 00 P D ADAPTATEUR GPS 380000 Y
Voici mon code :
*****************************************************************
Sub Dump()
Dim db As DAO.Database
Dim T1RCS1 As DAO.Recordset ‘ j’ai un doute sur l’intérêt de cette ligne
Dim T2RCS2 As DAO.Recordset ‘ j’ai un doute sur l’intérêt de cette ligne
Dim T3RCS3 As DAO.Recordset ‘ j’ai un doute sur l’intérêt de cette ligne
Set db = Application.CurrentDb
Set T1RCS1 = db.OpenRecordset("XA", dbOpenDynaset)
Set T2RCS2 = db.OpenRecordset("XB", dbOpenDynaset)
Set T3RCS3 = db.OpenRecordset("XC", dbOpenDynaset)
Open "C:\DUMP_TEST.txt" For Output As #1
T1RCS1.MoveFirst
Do Until T1RCS1.EOF
Print #1, "*"; "XA"; " "; Format(T1RCS1!EIACODXA, "@@@@@@@@@@"); " "; T1RCS1!LCNSTRXA
T1RCS1.MoveNext
Loop
T2RCS2.MoveFirst
Do Until T2RCS2.EOF
Print #1, " "; "XB"; " "; Format(T2RCS2!EIACODXA, "@@@@@@@@@@"); " "; Format(T2RCS2!LSACONXB, "@@@@@@@@@@@@@@@@@@"); " "; T2RCS2!ALTLCNXB; " "; T2RCS2!LCNTYPXB; " "; T2RCS2!LCNINDXB; " "; T2RCS2!LCNAMEXB; " "; T2RCS2!TMFGCDXB; " "; T2RCS2!SYSIDNXB; " "; T2RCS2!SECITMXB; " "; T2RCS2!RAMINDXB
T2RCS2.MoveNext
Loop
T3RCS3.MoveFirst
Do Until T3RCS3.EOF
Print #1, " "; "XC"; " "; T3RCS3!EIACODXA; " "; T3RCS3!LSACONXB; " "; T3RCS3!ALTLCNXB; " "; T3RCS3!LCNTYPXB; " "; T3RCS3!UOCSEIXC; " "; T3RCS3!PCCNUMXC; " "; T3RCS3!ITMDESXC; " "; T3RCS3!PLISNOXC; " "; T3RCS3!TOCCODXC; " "; T3RCS3!QTYASYXC; " "; T3RCS3!QTYPEIXC; " "; T3RCS3!QTYASYXC
T3RCS3.MoveNext
Loop
Close #1
End Sub
*******************************************************************
Je ne sais pas si cette méthode est bonne, mais elle me paraît simple.
Son avantage, c’est que je définie l’ordre d’écriture des 104 tables.
Seulement voilà, je suis confronté à des problèmes de mise en forme. Je ne trouve pas la fonction pour écrire à gauche ou à droite.
Et surtout, après je vais attaquer les grosses tables avec toutes sortes de formats (surtout en ce qui concerne les données numérique).
As-tu des infos sur le format, et surtout que penses-tu de ma méthode ? Comporte-elle des risques ?
A+
Cédric
Partager