Avatar billede hitman3k Nybegynder
24. april 2008 - 14:10 Der er 9 kommentarer og
1 løsning

Import TXT

Hej E.

Jeg har et lille problem, jeg vil gerne kunne impoter data fra en txt fil som ser sådan ud:

56,89778854;009,985654;03


Data'en skal så deles ved ; og det skal lægges i 3 felter i en formular og ikke gemmes i en tabel.

Forklaring på Txt fil:

Lat;Long;Gps

Det skal så lægges i de 3 felter i en formular. nogen som kan hjælpe med en kode?
Avatar billede jensen363 Forsker
24. april 2008 - 14:14 #1
Jeg er i tvivl om, hvorvidt det kan lade sig gøre unden at benytte een eller anden form for tabel som "mellemstation" ... hvorfor vil du ikke ( som minimum ) have data i databasen midlertidigt ?
Avatar billede supertekst Ekspert
24. april 2008 - 14:18 #2
Alternativ:
Indlæse tekst-filen når formularen (ubundet) aktiveres
(Hej Jensen)
Avatar billede jensen363 Forsker
24. april 2008 - 14:22 #3
Hej SuperTekst ... long time no hear  C",)
Avatar billede mugs Novice
24. april 2008 - 15:25 #4
Mener ikke man kan importere til andet end en tabel. Men bagefter kan man jo blot slette tabellen med DropTabel.
Avatar billede supertekst Ekspert
24. april 2008 - 16:52 #5
->hitmann3k
Hvor mange linier er der i tekstfilen?
Hvordan forestiller du, hvis flere linier, at disse skal kunne vælges?
Er der andre Access-elementer involveret?
Avatar billede fdata Forsker
24. april 2008 - 17:13 #6
Naturligvis kan man læse fra filen og udfylde felterne on-the-fly (uden tabel). Det kræver ikke mange liniers kode; men der er vel lidt mere i opgaven end som så.
- Hvad med filnavnet? Er det altid det samme?
- Hvordan finder man den rigtige linie i filen?
- Eller er der kun een eneste linie?
Avatar billede jesperfjoelner Nybegynder
24. april 2008 - 22:58 #7
Hvis du har en formular med 3 felter:
txtLat, txtLong og txtGPS

og en knap: cmdGO

Det antages at textfilen hedder "1.txt" og ligger i samme mappe som databasen.
Det antages også at der kun er een linje i filen. De øvrige deltageres spørgsmål er helt relevante.

Bruges så dette for knappen:



Private Sub cmdGO_Click()

If MsgBox("Vil du indsætte dataene?", vbOKCancel + vbDefaultButton1, "") <> vbOK Then
    Exit Sub
End If

Dim aValues() As String
Dim sFilePath As String
Dim sFileText As String
Dim iFile As Integer
Dim i As Integer


sFilePath = CurrentProject.Path & "\1.txt"

iFile = FreeFile

' Since it's a small file, we'll read it all at a gulp.
Open sFilePath For Input As #iFile
sFileText = Input(LOF(iFile), iFile)
Close #iFile

' Split the line into values.
aValues = Split(sFileText, ";")

Me.txtLat = aValues(0)
Me.txtLong = aValues(1)
Me.txtGPS = aValues(2)

Erase aValues

End Sub
Avatar billede hitman3k Nybegynder
25. april 2008 - 04:32 #8
Der er kun en linje i filen og fil navn altid samme.. kigger på din kode i dag engang.
Avatar billede hitman3k Nybegynder
25. april 2008 - 10:23 #9
Det var præcis det jeg ville som din kode lave :-D nu jeg en glad mand

:-D :- D :-D :-D :-D :-D :-D :-D :-D :-D
Avatar billede jesperfjoelner Nybegynder
25. april 2008 - 10:38 #10
Tak for det. Held og lykke med det.
Linjen "Dim i As Integer" kan godt slettes.
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