Avatar billede r-bj Nybegynder
14. juni 2000 - 14:53 Der er 14 kommentarer og
1 løsning

Opdatering via txt fil

Er det muligt at opdatere en access database via en txt fil.

Det ska lige siges at jeg ikke har en klap forstand på opdatering af databaser, så det skal helst skæres ud i pap, for mig
Avatar billede r-bj Nybegynder
14. juni 2000 - 14:59 #1
ups, glemte lige den vistnok vigtigste detalje.... det skal gerne gøres automatisk, fx. ved hjælp af et script eller lignede
Avatar billede privaten Nybegynder
14. juni 2000 - 15:13 #2
Hvad vil du opdatere og hvordan, man kan fx. godt indlæse en tekstfil til en tabel i databasen via import-modulet...
Avatar billede r-bj Nybegynder
14. juni 2000 - 15:51 #3
Det lød faktisk lidt i stil med det jeg tænkte på, problemet er så at kører jeg importguiden manuelt så er jeg nød til at lave nogle ændringer, andet end dem access selv foreslår så det skal jo også gerne kunne gøres i modulet.
Avatar billede hnteknik Novice
14. juni 2000 - 17:32 #4
Det har jeg gjort lige siden Access 2
Jeg har det ikke herhjemme, men skulle
være relativt nemt at sætte op.

Før sidste trin i importguiden, gemmer du opsætningen i en importspecifikation(Gem option).

Brug et navn- du kan huske.

gennemfør importen. Tøm tabellen ( du skal kun bruge strukturen) og omdøb den evt.

lav en knap på en formular.
I knappens klikfunktion indsættes

DoCmd.TransferText acImportDelim, specnavn, tabelnavn, "c:\filnavn"

That will do the trick

Henrik
Avatar billede r-bj Nybegynder
14. juni 2000 - 18:14 #5
Jeg får en fejl der hedder:

Handlingen eller metoden kræver argumentet Tabelnavn!

Jeg har ellers prøvet at indtaste et navn der allerede findes men også et der ikke findes

og så er det så jeg står tilbage og ligner et stort spørgsmåltegn!!!
Avatar billede hnteknik Novice
15. juni 2000 - 10:55 #6
Krads Krads

Har du gjort sådan:

DoCmd.TransferText acImportDelim, "IMPORTspecnavn", "Importtabelnavn", "C:\IMPORTFIL.txt"

Du har husket at komme tabelnavnet i anførselstegn "" ???

Henrik

Du skal også huske at tømme tabellen først ellers adderes data bare.
Du får lige et knapeksempe

Henrik :

Private Sub Knap5_Click()
'Opdater kontoradresser
Const MB_OK = 0, MB_OKANNULLER = 1  ' Definer knapper.
Const MB_JANEJANNULLER = 3, MB_JANEJ = 4
Const MB_IKONSTOP = 16, MB_IKONSPØRGSMÅL = 32  ' Definer ikoner.
Const MB_IKONUDRÅB = 48, MB_IKONBEKRÆFTELSE = 64
Const MB_STANDKNAP = 256, IDJA = 6, IDNEJ = 7  ' Definer andet.
Titel = "Opdatéring af KontorAdresser"
IMPORTFIL = Me![Kontordatafil]

Medd = "Advarsel -  Du er nu igang med at"
Medd = Medd & " ændre de eksisterende data på KontorAdresser."
Medd = Medd & Chr(13) + Chr(10) & "Check, at sti og filnavn----> :"
Medd = Medd & Chr(13) + Chr(10) & Me![Kontordatafil]
Medd = Medd & Chr(13) + Chr(10) & "er korrekt! Vil du fortsætte ?"

DgStand = MB_JANEJ + MB_IKONSTOP + MB_STANDKNAP  ' Beskriv dialogboks.
Svar = MsgBox(Medd, DgStand, Titel) ' Hent brugersvar.
If Svar = IDJA Then ' Udregn svar,
    Medd = "Opdatering af IMPORT fil for KONTORADR udføres."
    MsgBox Medd            ' Vis handlingen.
    On Error GoTo Err_Knap5_Click

        Dim DocName As String

        DoCmd.SetWarnings False

        DocName = "Slet fra KONTORADR-Arkiv"
        DoCmd.OpenQuery DocName, A_NORMAL, A_EDIT
   
        DocName = "Tilføj til KONTORADR-arkiv"
        DoCmd.OpenQuery DocName, A_NORMAL, A_EDIT

        DocName = "Slet fra KONTORADR"
        DoCmd.OpenQuery DocName, A_NORMAL, A_EDIT
   
        DoCmd.TransferText A_IMPORTDELIM, "IMPORT", "KONTORADR", IMPORTFIL

Exit_Knap5_Click:
    Exit Sub

Err_Knap5_Click:
        MsgBox Error$
        Resume Exit_Knap5_Click

Else
        Medd = "Opdatering afbrydes."
        MsgBox Medd            ' Vis handlingen.
End If


End Sub
Avatar billede r-bj Nybegynder
15. juni 2000 - 13:34 #7
Nu har jeg ikke lige fået forsøgt den endnu da jeg lige skal være sikker på en ting......

Virker metoden ikke hvis tabellen allerede indeholder oplysninger???

Det jeg skal bruge funktionen til er nemlig at jeg skal have en database opdateret 3-4 gange dagligt, og jeg gider ikke sidde og slette alle poster og så køre inportguiden manuelt hver gang.....

Kan det slet ikke lade sig gøre???
Avatar billede hnteknik Novice
15. juni 2000 - 13:59 #8
Jo metoden er da ligeglad med hvad du har af dat i forvejen, den adderer bare i halen på hvad du har i forvejen.

Hvorfor ikke lave en slette forespørgelse som kaldet er vist for ovenfor ???
Hør du skal squ da kun køre den importguide en gang for at danne den
forp..... specifikation, som du siden refererer til ved navn.

Herefter er det kun at trykke på knappen, hver gang du skal have opdatereret.

Bemærk fil sti+navn får den her fra et tekstfelt fra formen. Normalt vil lave et API kald til Windows og bruge stifinden til at finde filen og placere den i formen.

Henrik
Avatar billede r-bj Nybegynder
15. juni 2000 - 14:07 #9
Som sagt så har jeg ikke erfaring i access og jeg ville bare lige høre, da alt det her blev meget teknisk for mig......

men jeg vil så lige forsøge mig på ovenstående kode.......
Avatar billede hnteknik Novice
15. juni 2000 - 14:14 #10
ja ja men du skal da lige danne en eller to sletteforespørgelser og evt. en tilføjelsesforespørgelse, en formular , en knap, hvis klikfunktion skal indeholde data.

Man får ikke noget foræret her i verden ( uden at betale) eller gøre en indsats selv. man får kun efaring ved at prøve sig frem ( og købe sig en Access bog)

Henrik
Avatar billede r-bj Nybegynder
15. juni 2000 - 14:16 #11
Ok så har jeg forsøgt, men der sker ikke noget.

Jeg kan dog se at jeg har lavet en fejl, jeg ved bare ikke helt hvorfor. Hvis jeg debugger den ovenstående kode (efter at have ændret den til mit behov) får jeg af vide der er fejl i flg linje:

        DoCmd.TransferText A_IMPORTDELIM, "IMPORT", "Min_tabel", C:\min_tekstfil.txt
Avatar billede hnteknik Novice
15. juni 2000 - 20:47 #12
Det sidste skal være en tekstfil

i.e.  "xxxxxxx"
Avatar billede r-bj Nybegynder
15. juni 2000 - 20:52 #13
Jeg har haft prøvet dette også, men uden held....

jeg har dog i mellemtiden fået det lavet af en god ven, der har lavet vhj makroer, så jeg lukker hermed spørgsmålet.

I skal dog have mange tak for at ville hjælpe....
Avatar billede hnteknik Novice
15. juni 2000 - 21:13 #14
Efter al det krudt man har brændt af på dig er du ikke kommet videre ???

Henrik
Avatar billede privaten Nybegynder
15. juni 2000 - 21:53 #15
>> r-bj, Du burde belønne Henrik for det store stykke arbejde han har gjort, om ikke andet fordi han blev ved med at hjælpe, og så mange point stod der jo heller ikke på spil.
Tja, bare min ydmyge mening....
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