Avatar billede larsgrau Forsker
05. januar 2016 - 20:17 Der er 4 kommentarer og
1 løsning

Import bestemt data

Hej

Jeg har en fil som ser sådan her ude.

A/-/-/-/AA/3/665//
P/3545/6865/-/-/-/-/-/669//

'Næste post
A/-/554/-/AB/3/587//
S/-/-/-/-/-/-//
P/985/545/-/-/-/-/-/600//

'Næste post
A/-/-/-/AA/7/1411//
P/5425/4575/-/-/-/-/-/125//

Jeg kunne godt tænke mig at importer dette til en tabel i access via VBA, men jeg kan ikke rigtig komme igang med en kode til det, nogen som har en ide ?
Avatar billede MSchlamovitz Mester
05. januar 2016 - 20:41 #1
Kan du åbne filen i en teksteditor, fx Word og erstatte "Næste Post" med tvungen ny linje (¶) og alle "/" med fx semikolon (;)?

og gemme filen igen som en .txt-fil ?

Kender du feltnavnene på de enkelte felter i strengen? Hvis du gør det, så opret en tabel med disse felter.

Dernæst vælger du Eksterne Data | Tekstfil (o gruppen Import og sammenkæd) og følger vejledningen

i VBA skal du bruge kommadoen: DoDmd.TransferText  - stadig med den redigerede txt fil som inputfil.
06. januar 2016 - 09:52 #2
Hvordan er datastrukturen i databasen.
Skal alt indsættes i en tabel??? - Måske ikke den mest hensigtsmæssige løsning!
Avatar billede larsgrau Forsker
06. januar 2016 - 11:48 #3
Datastrukturen vil blive bestemt af hvordan jeg kan få data´en ind

Strukturen i input filen vil jeg helst ikke ændre i. Men hver line starter med et bogstav.

S/-/-/-/-/-/-/-/-/-/-/-/-/-/-//
L/-/-/-/-/-/-/-/-/-/-//
p/-/-/-/-/-/-/-/-//
B/-/-/-/-/-/-/-//

OSV. og de slutter altid med //.
Avatar billede fdata Forsker
06. januar 2016 - 13:09 #4
Du kan "klippe linjen i stykker" med Split kommandoen.

Eksempel (se resultatet i Immediate vinduet, Ctrl-G):

Sub Afkod()
  Dim s As String
  Dim i As Integer
  Dim Felt
 
  Open "c:\Temp\Files\t.txt" For Input As #1
 
  Debug.Print "----------"
  Do Until EOF(1)
    Line Input #1, s
    If s = "'Næste post" Then
      Debug.Print s
    Else
      Felt = Split(s, "/")
      For i = 0 To UBound(Felt)
        Debug.Print "<"; Felt(i); ">"; Tab((i + 1) * 10);
      Next i
      Debug.Print
    End If
  Loop
 
  Close 1
End Sub
Avatar billede fdata Forsker
14. februar 2016 - 16:19 #5
Takker for point ;O)
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