Avatar billede jjakobse Praktikant
28. maj 2009 - 12:59 Der er 10 kommentarer

Navngiv text fil efter feltnavn

Hej eksperter..!

Jeg sidder og arbejder med en Access 2000 DB og mangler en funktion der navngiver en txt fil jeg eksporter fra databasen.. Lige nu hedder filen altid det samme, men så overskriver jeg jo eksisterende fil hver gang jeg eksporterer hvilket ikke er hensigtsmæssigt..

Tabellen jeg vil hente informationen fra hedder "Registrering" og feltet jeg vil hente navnet fra hedder "Id"

Håber der er en der knække denne udfordring..!

Mvh
Jesper
Avatar billede terry Ekspert
28. maj 2009 - 13:58 #1
txtFilNavn = Dlookup("ID", "Registrering")

But this will still give you the same name unless you include a criteria in Dlookup so that it finds the correct name!
Avatar billede terry Ekspert
28. maj 2009 - 13:59 #2
Unless of course the table only contains one record
Avatar billede Slettet bruger
28. maj 2009 - 14:33 #3
Måske bedre endnu:
txtFilNavn = "Registrering" & Me.RecordID
Docmd.Transfertext, acDelim, xxxxxx, txtFilnavn, True
Hvor Me.recordID henviser til et felt på formularen, som indeholder en unik record identifier - og forudsat at koden ligger på en form.
Avatar billede jjakobse Praktikant
28. maj 2009 - 14:33 #4
Hi Terry,

Sorry, I'm sure that I fully understands what you are suggesting..

Can you provide me with the full string which I can paste into VBA...?
Avatar billede jjakobse Praktikant
28. maj 2009 - 14:39 #5
Hej Schlamovitz,

Hmm.. Føler mig lidt dum, for jeg forstår heller dit forslag.. :o)

Lige pt. ligger der blot en kommando inde i en macro der hedder TransferText og med et fast fil navn..

Jeg havde håbet at jeg kunne lave noget lignende dette;

D:\[Registring]![I].txt

Men det ville jo også være for nemt.. :o)

Hvordan skal den komplette streng se ud hvis som sagt tabellen hedder " Registrering" og feltet der skal bruges til navnt hedder "Id"...?
Avatar billede terry Ekspert
28. maj 2009 - 15:37 #6
You need to use VBA code instead of a macro, this gives you more flexibility. Something like what schlamovitz suggests.
Avatar billede jjakobse Praktikant
28. maj 2009 - 16:05 #7
Hi Terry,

Okay fine, but what is the VBA string then..?

Im not good at VBA so please give me a very easy string to work with.. :o)
Avatar billede Slettet bruger
28. maj 2009 - 16:21 #8
Kan du lave en knap på din formular, der laver eksporten?

På knappens VedKlik-hændelse vælger du kodegenerator
Koden skal se således ud:

Sub KnapNavn_Click

Dim txtFilNavn as string
    txtFilNavn = "Registrering" & Me.RecordID
    Docmd.Transfertext, acDelim, xxxxxx, txtFilnavn, True
End Sub

De enkelte argumenter i TransferText er kun eksempler og skal naturligvis tilpasses de faktiske forhold. Brug evt. hjælpen på TransferText.
Avatar billede mugs Novice
28. maj 2009 - 19:39 #9
Er det ikke lidt overkill både at nævne tabellen og feltet;

txtFilNavn = "Registrering" & Me.RecordID

schlamovits skriver jo tidligere:

"henviser til et felt på formularen, som indeholder en unik record identifier"

så den unikke recordid må være nok. Ordet "registrering" er jo blot fyld.
Avatar billede Slettet bruger
28. maj 2009 - 21:13 #10
Helt korrekt - men noget skal barnet jo hedde - og jeg forestiller mig blot, at det er mere sigende at skulle importere en fil, der hedder Registrering24517.txt - end blot 24517.txt . . .
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