petersen7913 Seniormester
08. marts 2021 - 12:39 Der er 11 kommentarer og
3 løsninger

Importere csv fil

Jeg skal importere forskellige csv filer til min database. Når jeg søger på nettet er jeg ved at drukne i muligheder ....
Situationen er, at jeg står med den ønskede fil (objFilename) og extension er csv.
Jeg vil gerne kunne åbne filen, læse første line (som er overskrifter), læse hver enkelt overskrift ind i hver sin variabel (så kan jeg afgøre hvordan jeg skal håndtere rækkerne) og dernæst loope gennem rækkerne.

Nogle løsninger bruger OpenTextFile, nogle bruger TransferText Method ...
Nogle løsninger siger at man skal læse ind i en temporær tabel, andre gør ikke.
Jeg er meget åben for forslag men lige nu er jeg ved at drukne i at forsøge at 'flette' 5-6 forskellige løsninger sammen.

PS. Tak til jer, der plejer at hjælpe mig :) Jeg har ryddet op og få lukket diverse åbne spørgsmål.
terry Ekspert
08. marts 2021 - 13:13 #1
It sounds as though there is a lot of manual handling going on which is going to make it difficult to automate the process.

"læse hver enkelt overskrift ind i hver sin variabel (så kan jeg afgøre hvordan jeg skal håndtere rækkerne) og dernæst loope gennem rækkerne."

Is it necessary for you to “læse hver enkelt overskrift ind i hver sin variabel” to help you decide how to process the file(s)?

Is there no standard format in the file(s) ?
Gustav Seniormester
08. marts 2021 - 13:20 #2
Hvis det er en almindelig csv-fil, plejer det at være nok at linke den med TransferText og dernæst oprette en simpel select-forespørgsel med den linkede tabel som kilde.

I denne forespørgsel kan man så oprette grundlæggende filtrering og konvertering af data og feltnavne efter behov. Det er nemt, da man hele tiden kan checke resultatet. Når det er gjort, bruges forespørgslen til det videre - typisk tilføjelse til andre tabeller.

OpenTextFile el.lg. bruges mest, når kringlede filer skal indlæses, fx hvor teksten står i blokke, har mærkelige headere i flere niveauer, etc.
petersen7913 Seniormester
08. marts 2021 - 13:30 #3
Jeg har 8 forskellige templates til 8 forskellige tabeller, som data skal ind i. Så hver enkelt fil/template er standard, men jeg skal vide hvilken af de 8 template jeg har fat i - hvilket kan hånteres på andre måder, men jeg tænkte at det her måske var smartere?

Men jeg skal f.eks. test at der ikke indlæses dubletter, der er opslag (ID), der skal passe til værdien (tekst) i en template og sidst, nogle af tabellerne er intersection tabeller, som jeg skal håndtere i min kode.

Det sidste er fordi jeg skal kombinere data udlæst fra forskellige systemer. Access skal afløse et stort og uoverskueligt regneark ;)
terry Ekspert
08. marts 2021 - 13:39 #4
Well I would make 8 different import specifications.If you want to automate the process of finding out which specification to use then you could import the file including header and then using some VBA you could check column names...and from that run the necessary import specification
terry Ekspert
08. marts 2021 - 13:42 #5
and you could, as Gustav suggest, use TransferText to link the table, and then using VBA to find column names to decide whichimport specifaction to us.
terry Ekspert
08. marts 2021 - 13:46 #6
"Men jeg skal f.eks. test at der ikke indlæses dubletter"
The destination tabels should have unique indexes, so that shouldnt be possible.
petersen7913 Seniormester
08. marts 2021 - 14:08 #7
Tak, jeg forsøger med TransferText :)
terry Ekspert
08. marts 2021 - 14:15 #8
If you decide to use import specifications, then you can inlcude the name of the simport spec. when you use TransferText
https://docs.microsoft.com/en-us/office/vba/api/access.docmd.transfertext
petersen7913 Seniormester
09. marts 2021 - 10:25 #9
Tak :)
petersen7913 Seniormester
09. marts 2021 - 15:18 #10
Så fik jeg tid til at teste det - hold da op hvor er det nemt :)
terry Ekspert
09. marts 2021 - 15:51 #11
Cany you epxlain how you did it?
Did you make import specifications using import wizard?
petersen7913 Seniormester
09. marts 2021 - 16:11 #12
terry Ekspert
09. marts 2021 - 16:35 #13
Thats good.
You probably know that you can save import/export steps as "saved imports/exports". These can't be used with TransferText, they have to be those created with the import/export wizard advanced option
petersen7913 Seniormester
09. marts 2021 - 16:48 #14
Ja, jeg bruger save import/export en del når jeg udvikler og tester
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.

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





Premium
Sådan slipper danske it-selskaber afsted med at betale nul kroner i skat: "Der er klare tegn på, at spekulation i selskabsskat er udbredt"
En lang række it-selskaber på dansk jord betalte nul kroner i selskabsskat i løbet af 2019. Der findes flere årsager til - både mere eller mindre hæderlige - at selskaberne ikke poster penge i fælleskassen, lyder det fra global skatteekspert. Flere grunde er helt reelle mens andre er mere spekulative.
Computerworld
Endnu en tragisk ulykke med førerløs Tesla: Musk har store forventninger til ny software
En tragisk dødsulykke i USA i weekenden har sat forøget fokus på Teslas eksisterende semiautomatiske system og det kommende fuldautomatiske, der skal gøre bilerne helt selvkørende.
CIO
Har du rost din mellemleder i dag? Snart er de uddøde - og det er et tab
Computerworld mener: Mellemledere lever livet farligt: Topledelsen får konstant ideer med skiftende hold i virkeligheden, og moden går mod flade agile organisationer. Men mellemlederen er en overset hverdagens helt med et kæmpe ansvar. Her er min hyldest til den ofte latterliggjorte mellemleder.
Job & Karriere
"Vi var nødt til at sige til dem, at I er nødt til at sende ham hjem nu, for han begynder at knække"
"Vi var nødt til at sige til dem, at I er nødt til at sende ham hjem nu, for han begynder at knække"
White paper
Overvåg kritiske industrielle systemer og beskyt dem mod angreb
Industrial Control Systems (ICS) udgør hjertet i alle forsynings- og produktionsvirksomheder og kan være overraskende sårbare overfor cyberangreb. Dette whitepaper giver et godt overblik over problematikker og muligheder for at sikre jeres systemer.