EXPORT

P.V.

export 20kbexport2k 22kbexportxp 22kb

 


   In deze weektip weer eens aandacht voor VBA. Het gaat hier om het exporteren van informatie in een fixed tekst formaat.
   De bovenstaande code voert dat uit. Echter voor je deze code kunt hanteren moet je het een en ander doen. Na het aanmaken
   van de query die de specifieke velden bevat die je wilt exporteren, moet je de "Export " definitie aanmaken. Dit doe je als  
   volgt:
   (engelse versie) Via File, Save as/Export, To an External file or Database geef je 'OK'. Selecteer het pad waar opgeslagen 
   moet worden en geef een naam in voor het bestand en het formaat voor textfiles. Klik op Export, Fixed Width en druk op 
   "Advanced" waarna een scherm verschijnt met namen gebaseerd op de veldnamen. Ook de verwachte kolombreedtes en 
   vanaf welke positie ze zouden moeten beginnen worden getoond. Mocht je een van deze gegevens willen aanpassen, realiseer 
   je dan wel dat je ook de juiste beginposities hanteert. In dit geval heb ik de breedte van het veld UnitPrice aangepast. Als 
   alle settings zijn ingebracht sla je ze op onder een naam (in dit geval ExportFormat) die je later weer kunt gebruiken in je 
   opdracht. In principe ben je nu al ver genoeg, omdat je de export definitie gegenereerd hebt. Ga je verder dan zijn de 
   volgende stappen : Ok, Ok, Next, Finish en OK.

   Nu de gebruikte code: De eerste regel On error... gebruik ik om een foutmelding te voorkomen die ontstaat als het 
   betreffende bestand, dat in de tweede regel verwijderd wordt, nog niet aanwezig is. De tweede regel verwijderd het 'oude' 
   bestand van de vorige keer zodat niet de boodschap komt dat het bestand al bestaat. De derde regel is de export opdracht 
   die we net met de wizard hebben doorlopen. 'acExportFixed' is een tekstformaat met vaste lengtes. De eerste 
   'ExportFormat' is de juist aangemaakte exportspecificatie, de tweede staat voor de gebruikte Query. Het volgende stuk 
   is de te hanteren bestandsnaam en padverwijzing en de laatste -1 staat voor het feit of wel (-1) of geen (0) kolomheader 
   meegeleverd wordt. Het verschil tussen vaste lengtes en gelimiteerde is het gebruik van record delimitors 
   (veldscheiding's tekens) zoals ; of , of  tab. Voor dat type wordt geen vaste lengte opgegeven maar zijn de scheidingstekens 
   de grenzen voor dat veld.