Access: Tekst bestand importeren - variabelen retainen

Status
Niet open voor verdere reacties.

mikekiwi

Gebruiker
Lid geworden
1 jul 2004
Berichten
27
Hello,

Ik zit met het volgende: ben een applicatie in Access aan het creëren die veel data moet inlezen en combineren.

Eén van de bronnen van de data is een csv-bestand, waarmee ik nogal problemen heb om die goed in te lezen.

Wat is het geval: het bestand bevat verkoopgegevens van verschillende winkels en er zijn 3 soorten dataregels (in deze volgorde):

regeltype 1 bevat een algemene headerregel, kan geskipt worden
regeltype 2 is een header met daarin het id van de winkel en de periode van de verkopen(week/maandnummer)
regeltype 3 verkoopgegevens (artikel, eancode, aantal verkopen)

Dit is een repeterend geheel, dus: 1,2,3,3,3,1,2,3,3,1,2,3,3,3,3,3,3,3,1,2,3,3,3,3, enz.

Wat wil ik nu: uiteindelijk in een access-tabel in 1 record het week/maandnummer en winkelid uit regeltype 2 en de verkoopvelden uit regeltype 3. Per regeltype 3 zou er een record moeten zijn.

Hoe doe ik dit? Is dit te doen met een algemene import of moet hier (heel) wat VB voor geschreven worden?

Ik hoop dat ik het een beetje duidelijk heb uitgelegd en geen idee of dit in P&W thuishoort, maar dat hoor ik vanzelf wel...

Alvast hartelijk dank voor alle hulp!

Michael
 
Met de eenvoudige import mogelijkheden gaat dit denk ik niet lukken. Je kunt daarin alleen aangeven of het bestand een header bevat, maar daar ben je er nog lang niet mee.

Ik denk dat je in VBA aan de slag moet. Een ideetje: Maak een routine waarin je regel voor regel het bestand kunt behandelen. Vervolgens moet er iets met een Case statement gebeuren om de afhandeling per regel te doen.

Dus iets als:
Code:
For each line in file
  strTekst = regeltekst
  Select case strTekst
  Case Voorwaarden voor regel 1
     Insert into tabel values(stukjes uit de regel)
  Case Voorwaarden voor regel 2
     Insert into tabel values(stukjes uit de regel)
  Case Voorwaarden voor regel 3
     Insert into tabel values(stukjes uit de regel)
  End Select
Next

Dit is geen werkende code maar een opzetje van wat er zou moeten gebeuren.


Grtz,
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan