Avatar billede moba Nybegynder
07. november 2008 - 11:09 Der er 4 kommentarer

import af csv fil med forskellig datastruktur

Hejsa

jeg er ved at lave en import funktion som skal kunne importere en csv fil. Jeg har bl.a. tænkt at bruge importspecifikationer i access. Problemet opstår i, at csv filen indeholder flere sektioner af data med forskelilge antal felter.
blot for at give en ide om hvad jeg mener så kunne strukturen i csvfilen se sådan ud:
id;type;navn
id;type;navn
id;type;str;antal;
id;type;str;antal;
id;type;;;;alder
id;type;;;;alder
id;type;;;;alder

Type er unik strukturen er den pågældende record. Dvs hvis vi typen eksempelvis hedder "Type2" vil man altid kunne forvente eksempelvis 7 felter i pågældende record.

Alternativet som jeg ser det, er at lave et lille bat program som deler csv filen op i et antal csv filer. Jeg leder dog efter en løsning som skal håndteres fra Access.

Morten
Avatar billede terry Ekspert
07. november 2008 - 11:17 #1
If you look ahead this also means that you have to imort into more than one table, or at least as I see it. So without giving a solutuion I would suggest using XML. Otherwsie you would (i think) need tomake your own import routine.
Avatar billede Slettet bruger
07. november 2008 - 12:38 #2
Lav en tabel med Felt1, Felt2... , Felt7 som tekstfelter (hvis der altid er id først, så kan Felt1 være integer!~)

Så laver du en importspec, som bare sætter alle felter til tekst og så:

DoCmd.TransferText acImportDelim, "ExcelFil Importspecifikation", "ImportTabel", "c:\excelfil.csv", False

Herefter må enten ved hjælp af forespørgsler eller vba'en flytte data til de rigtige tabeller/felter!~)

Dvs. at hvis type er lig type2 så skal man gøre dit og så videre....
Avatar billede Slettet bruger
07. november 2008 - 12:39 #3
ps. hvis du laver Felt1 integer, så skal det selvfølgelig også gælde importspec'en!~)
Avatar billede Slettet bruger
26. november 2008 - 11:26 #4
...hvordan går det egentlig her?~)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester