Avatar billede hlnviv Mester
14. december 2006 - 11:59 Der er 18 kommentarer og
1 løsning

Når man impoter txt filer

Hej Eksperter
Når man impoter txt filer så vælger man fil og man vælger om det skal være afgrænset eller fast bredde man vælger hvilket tegn der adskiller felterne man vælger om det skal være en ny tabel eller om det skal være en eksisterende. Mit spørgselmål er så hvis dette er det samme hver gang og det skal i den samme tabel hver gang og det eneste man skal det er at vælge sin fil kan man så ikke lave en knap/vba kode måske så man ikke skal alle de step igennem hver gang
Avatar billede terry Ekspert
14. december 2006 - 12:04 #1
if you are usin th eimport wizard you should be able to save it as an import specification then use this in your vba code next tim eyu import
Avatar billede terry Ekspert
14. december 2006 - 12:06 #2
you can use
docmd.TransferText to import using an importspec
Avatar billede terry Ekspert
14. december 2006 - 12:10 #3
press the advanced button when you use the import wizard
Avatar billede hlnviv Mester
14. december 2006 - 12:33 #4
når jeg så har gemt min importspec hvordan kalder jeg den så frem igen
via en vba kode?
Avatar billede hlnviv Mester
14. december 2006 - 12:38 #5
den skal spørge efter fil navn da det er et nyt navn hver gang
Avatar billede terry Ekspert
14. december 2006 - 13:30 #6
Example
The following example exports the data from the Microsoft Access table External Report to the delimited text file April.doc by using the specification Standard Output:

DoCmd.TransferText acExportDelim, "Standard Output", _
    "External Report", "C:\Txtfiles\April.doc"


If your filename changes then you will need som eway of entering it, maybe in a form wit a text field, then a button to run the code.
Avatar billede terry Ekspert
14. december 2006 - 13:30 #7
The example is for exporting, but its very similar to import
Avatar billede hlnviv Mester
14. december 2006 - 13:38 #8
Hvad er der galt her
DoCmd.TransferText acImportDelim, "Højspænding"

import specification name is Højspænding
Avatar billede flemming39 Nybegynder
14. december 2006 - 14:00 #9
Du skal lave noget kode der løber filnavnene igennem og for hvert filnavn gør:

For i = 1 to antalfiler
    filnavn = filnavn(i)
    DoCmd.TransferText acImportDelim, "Højspænding", , filnavn
Next


mvh Flemming
Avatar billede terry Ekspert
14. december 2006 - 14:09 #10
14/12-2006 13:38:43

what error do you get?
Avatar billede hlnviv Mester
14. december 2006 - 15:57 #11
til flemming
den melder fejl ved filnavn = filnavn(i)
Avatar billede hlnviv Mester
14. december 2006 - 15:59 #12
til terry
den skriver erroe 2495
den mangler argumentet tablnavn
men det er jo import specification jeg vil have den til
at køre
Avatar billede terry Ekspert
14. december 2006 - 19:12 #13
Just use the table which you have selected in the import specefication. This just allows you to use another table if necessary.
Avatar billede hlnviv Mester
14. december 2006 - 21:14 #14
du bliver lige nød til at vise mig hvordan den skal se ud med
hvor der skal stå tabel navn og hvor der skal stå specification navn
dit Example

DoCmd.TransferText acImportDelim, "Standard Output", _
    "External Report", "C:\Txtfiles\April.doc"
og der skal jo vælges en ny fil hver gang
Avatar billede flemming39 Nybegynder
15. december 2006 - 08:45 #15
Hej

Det er formentlig fordi der mangler et tabelnavn. Prøv at vise os den kode du har lavet. Jeg har ikke testet nedenstående men det er så vidt jeg kan se noget i den retning du har brug for.

sti = "C:\\"
filnavne = "Fil1 fil2 fil3"
antalfiler = 3
FilNavnArray = Split(filnavne, " ")
For i = 1 To antalfiler
    filnavn = filnavn(i)
    DoCmd.TransferText acImportDelim, "Højspænding", Tabelnavn, sti & filnavn
Next i
Avatar billede hlnviv Mester
15. december 2006 - 09:31 #16
Tror ikke jeg forstå hvis man bruger importer i access og går guiden tekstimport igennem og man så laver en gem som så kan man kalde den frem via en vba kode hvis jeg har forstået det rigtig men hvordan
skal den kode se ud er ikke ret god til at lave vba koder!!

har prøvet din her under det virker ikke


Private Sub Kommandoknap12_Click()
On Error GoTo Err_Kommandoknap12_Click

  sti = "C:\\"
filnavne = "Fil1 fil2 fil3"
antalfiler = 3
FilNavnArray = Split(filnavne, " ")
For i = 1 To antalfiler
    filnavn = filnavn(i)
    DoCmd.TransferText acImportDelim, "Højspænding", Højspænding reinhaus, F:\lab\HN\Rein-txt\BG380210.txt

Exit_Kommandoknap12_Click:
    Exit Sub

Err_Kommandoknap12_Click:
    MsgBox Err.Description
    Resume Exit_Kommandoknap10_Click
   
End Sub
End Sub
Avatar billede terry Ekspert
15. december 2006 - 12:40 #17
Arent we going a little off track? Ther ewas no mention of havin to loop through a list of files only how you could automate the ame functions when importing ONE file.

If we keep to this and get that working then we can go on to how we can loop trhough a number of files (in another question).

You need to put the file name in ""
DoCmd.TransferText acImportDelim, "Højspænding", Højspænding reinhaus, "F:\lab\HN\Rein-txt\BG380210.txt"
Avatar billede hlnviv Mester
18. december 2006 - 10:00 #18
Tak hvordan så med at spørge efter en ny fil hver gang man bruger
Avatar billede hlnviv Mester
18. december 2006 - 10:01 #19
laver lige et nyt spørgsmål
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