Avatar billede flemming39 Nybegynder
18. januar 2005 - 14:38 Der er 5 kommentarer og
1 løsning

Import af fil i access

Jeg har lavet en konvertering af en tekst fil via import til access - ved hjælp af forespørgsler i access (indkapslet i makro).

1. I den indledende import vil jeg gerne angive det direktorat hvor filen altid ligger, sådan at jeg ikke skal browse mig frem, kan jeg angive import direktorat som en egenskab nogensteder?

2. Jeg vil gerne ignorere den første linie i importen (som er en header linie der ikke "matcher" de andre rækker i filen), kan  jeg det uden at skulle bruge visual basic programmering?

3. I min afsluttende eksport vil jeg gerne ligge filen i et bestemt direktorat, kan jeg gøre det ved at angive en egenskab somewhere?

Håber der er en venlig sjæl der enten kan hjælpe eller foreslå mig en anden approach.

mvh Flemming
Avatar billede provider Nybegynder
14. februar 2005 - 14:55 #1
Jeg forestiller mig, at din tekstfil er dannet som en periodisk eksport fra et andet program (?).
Hvis du kan linke filen som en tabel i stedet for at importere den, har du løst punkt 1 og 2. Derefter kan du håndtere den som en almindelig Access tabel.

Du oplyser ikke, hvad der sker med data mellem import og eksport. Men hvis eksportfilen også kan linkes (efter første eksport), kan du klare det hele med en simpel update query.
Fortæl noget mere om, hvor dataene kommer fra, og hvor de skal hen.
Avatar billede flemming39 Nybegynder
21. februar 2005 - 12:28 #2
Tak for svaret - Ser først dit svar nu, er netop kommet tilbage fra ski ferie.

Tekstfilen modtager jeg fra en ekstern leverandør. Filen indeholder data som skal indlæses i et eksisterende system som der ikke skal ændres på.

Men inden jeg kan indlæse filen er jeg, for denne ene leverandør, nødt til at "flytte" lidt rundt på data i filen hvilket jeg gør via en update query sekvens i access.

Tekstfilen består af en header + et antal records med et fast format.

For at kunne importerefilen til en access db er jeg nødt til fysisk at fjerne headeren og derefter importere filen og køre min update sekvens.

Som afslutning på update sekvensen eksporterer jeg filen ud som .txt fil og indsætter headeren. Filen er nu klar til at blive indlæst i det "eksisterende system".

Jeg vil gerne "automatisere" så meget som muligt som beskrevet i mit første indlæg.

mvh
"den ikke alt for erfarne access bruger"
Avatar billede provider Nybegynder
21. februar 2005 - 12:52 #3
Det er altså lidt vigtigt, hvilket format de oprindelige data har - regneark, kommasepareret txt, eller hvad.
Hvis der ikke er 'forbudte' tegn i, kan Access godt i nogle tilfælde bruge første række som headers (feltnavne), hvis man markerer det i import wizard'en.
Avatar billede flemming39 Nybegynder
21. februar 2005 - 13:26 #4
Felterne er adskilt ved hjælp af semikolon og headeren består af et leverandørnavn, en fra dato og tildato samt antal records i filen
"levnavn"; "20-01-005"; "20-02-2005;n
"E00001";"123";345;0;"kwh";666;0;"kwh"
"E00002";"234";345;0;"kwh";666;0;"kwh"
.....
"E0000n";"123";666;0;"kwh";666;0;"kwh"

mvh Flemming
Avatar billede provider Nybegynder
18. marts 2005 - 17:59 #5
Prøv om du kan linke filen ind i Access. Her er opskriften for den engelske version:
Vælg File/Get External Data/Link Tables (ikke Import).
I dialogboxen vælger du filtypen Text Files, finder den ønskede fil (der helst skal være navngivet med endelsen .csv eller .txt.) og klikker på Link-knappen.
Nu dukker en Link Text Wizard op med et udpluk af filens data.
Vælg Delimited, hvis Access ikke selv har gjort det, og klik Next.
Nu skal du markere, at dataene er semikolon separeret, og at første linie indeholder feltnavne. Klik Next.
Her kan du ændre feltnavnene ved at klikke på datakolonnerne og skrive de feltnavne, du vil bruge i Access (kildefilens overskrifter ændres ikke). Du kan også vælge et passende dataformat til de enkelte felter - eller fravælge visse felter ved at markere 'Skip'.
Når det er gjort, klikker du Next og ændrer evt. det tabelnavn, Access har foreslået, og klikker Finish.
Nu kan du håndtere din kildefil som enhver anden Access tabel - og endnu bedre: du kan udskifte kildefilen, hver gang, du får en ny - blot den har samme navn, placering og format som den oprindeligt linkede fil.
Du vil formentlig ikke køre opdateringsquery på din kildefil, men blot lave dine ændringer i en almindelig Select Query, som du så bare eksporterer til det filformat, du skal bruge.
Det burde ikke være nødvendigt efterfølgende at indsætte headers. Dem kan du definere i din query.
Men måske skal du lave en Export Specification. Den får du mulighed for at definere og gemme, når du eksporterer din query. Du skal blot klikke på Advanced knappen, der kommer frem i Export-dialogboxen, når du vælger at exportere til et separeret tekstformat.
Avatar billede flemming39 Nybegynder
12. april 2005 - 10:47 #6
Tak for hjælpen
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
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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