/ Forside/ Teknologi / Administrative / MS-Office / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS-Office
#NavnPoint
sion 18709
refi 14474
Klaudi 9389
Rosco40 5695
berpox 5456
dk 5398
webnoob 4919
Benjamin... 4870
o.v.n. 4637
10  EXTERMINA.. 4373
Deling af TXT-fil i Access
Fra : Niederhof
Vist : 715 gange
200 point
Dato : 29-01-07 16:51

Jeg har 550 .txt-filer, som hver består af 31 linier med (eller uden) oplysninger.
Jeg kan samle dem i een .txt-fil, og jeg kan importere denne i Access - MEN hvorledes får jeg Access til at opdele den samlede fil i nye poster (hver på 31 felter) ??

Og når nu linierne 4 til 11 egentlig skal være eet og samme felt - hvad gør jeg så ??


 
 
Kommentar
Fra : sion


Dato : 29-01-07 17:07

Hvordan er strukturen i den samlede tekst-fil? Det ville umiddelbart være nemmest at redigere i tekst-filen inden importering, men jeg ved ikke om det er praktisk muligt. Kan du ikke skrive et udpluk af både den samlede fil og en del-fil?

Hvordan har du for øvrigt samlet de 550 filer i én? Er lidt nysgerrig...

Simon

Kommentar
Fra : Niederhof


Dato : 29-01-07 17:46

Manuel redigering kan ikke komme på tale - det er for stor en opgave - den består af ca 550 * 31 linier !

Filerne er oprindeligt genereret af et Pascal-program, som vi anvendte til at holde styr på vore produkter, det vil sige at de er lavet som almindelige tekst-filer, og hver fil var beskrivelsen af et seperat produkt. En fil består så af 31 linier, hvor hver linie blev hentet ind på et bestemt sted i et visnings- , oprettelses- og redigerings-program (programmeret fra bunden - i TurboPascal)

Filerne har jeg samlet ved hjælp af DOS-komandoen COPY : "Copy *.txt alle.txt" kopierer alle filer med endelsen txt over i filen 'alle.txt' (skal naturligvis skrives i det directory hvor filerne ligger - ellers skal man angive stien til filerne)

Kommentar
Fra : Niederhof


Dato : 29-01-07 18:03

Glemte lige at nævne at de originale filer ikke bliver slettet !


Kommentar
Fra : sion


Dato : 29-01-07 18:20

Er der i den samlede fil nogen indikator for, hvornår en ny fil starter. Eksempelvis sådan her:

Fil1
linie 1
linie 2
linie 3
Fil2
linie 1
linie 2
linie 3

Eller måske sådan her (hvor A kan bruges til at adskille):

A) linie 1
B) linie 2
C) linie 3
A) linie 1
B) linie 2
C) linie 3

For så kan der ret nemt (læs: automatisk) redigeres i tekstfilen.

Kan du ikke skrive et lille udpluk af filen. Fjern eventuelt følsomme oplysninger.

Simon

Kommentar
Fra : Niederhof


Dato : 29-01-07 18:30

Hver enkelt fil starter med fil-nummeret i 1. linie - - MEN der er ingen garanti for at der ikke står f.eks 232 som start på andre linier......
Så der er vist kun tilbage at tælle linier

Accepteret svar
Fra : sion

Modtaget 200 point
Dato : 29-01-07 19:29

Jeg har en løsning, som kræver at du har TextPad installeret. Det er et super godt tekstredigeringsværktøj, blandt andet fordi det kan markere i søjler og fordi man kan benytte Regular Expression.

Du kan downloade TextPad herfra: http://www.textpad.com/products/index.html

Inde i TextPad kan du lave en makro, der laver et linieskift for hver 31 linier, så din struktur bliver sådan her:

Fil_nr1
Linie1
Linie2
LinieX
Linie31

Fil_nr2
Linie1
Linie2
LinieX
Linie31

osv...

Du laver makroen ved at sætte curseren i starten af linie 1 (start indspilning af makro nu), går 31 linier ned og laver et linieskift (stop indspilning af makro nu). Slet nu dit linieskift igen og sæt så curseren i starten af linie 1 igen. Du kan nu afspille makroen med Multi-play i menuen Macro, og den vil gennemløbe hele filen. Du skal selv stoppe processen ved at klikke med musen, for der selvom den selv burde stoppe, går der et eller andet galt til sidst.

Når du har rettet de par småfejl, der måske er kommet i starten og i slutningen af filen, er du klar til at lave en søg erstat (husk at krydse af i Regular Expression):

Søg efter: \([[:alnum:]]+\)\n
Erstat med: \1\t

Det kommer nu til at stå i tabelform med tabulatorseparering:

Fil_nr1   Linie1   Linie2   LinieX   Linie31
Fil_nr2   Linie1   Linie2   LinieX   Linie31

Du laver endnu en søg og erstat for at fjerne tabulatorer i slutningen af hver linie:

Søg efter: \t\n
Erstat med: \n

Filen skulle nu være klar til importering i Access.

Prøv dette og skriv endelig igen, hvis der er problemer.
Simon

Kommentar
Fra : IBM760


Dato : 29-01-07 20:45

En lytter.

Kommentar
Fra : Niederhof


Dato : 30-01-07 10:33

Textpad virker fint og makro-funktionen virker. Problemer kommer bare når linierne skal stå i tabelform, altså når du bruger udtrykket:

Søg efter: \([[:alnum:]]+\)\n
Erstat med: \1\t

Det er ikke alle linier som kommer med i tabelform.

Har du evt. en email-adr? så kan du få et udpluk

Godkendelse af svar
Fra : Niederhof


Dato : 02-02-07 08:09

Dette indlæg gav jo op til flere afkast, så mange tak for svaret.


Kommentar
Fra : sion


Dato : 02-02-07 09:12

Til IBM760 kan jeg fortælle, at jeg fik tilsendt den pågældende textfil pr. email. Jeg valgte at benytte Excel til at formatere teksten i tabelform, så den kunne importeres i Access.

Excel har et væld af funktioner - ikke mindst tekst-funktioner, som kan bruges til formålet.

Simon

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409068
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste