Avatar billede svinget Praktikant
22. januar 2010 - 14:26 Der er 8 kommentarer og
1 løsning

Hjælp til Dlookup

Jeg forsøger at lave lookup i MS Access 2003.

Det går fint med field A, men når jeg ønsker at hive 2 felter med over (til Field C også), så kan jeg ikke få det til at virker.

Table1
Field 1
Field 2
Field 3
Field 4

Table2
Field A - alm. Lookup fra Felt 1
Field B
Field C - Hente automatisk fra Felt 2, hvis felt A er udfyldt.

Jeg har søgt rundt, og har en formodning om at jeg skal bruge "DLookUp("[company]";"Tabel1";"[ID]=" & [ID]) "

Jeg har forsøgt at oversætte det til dette:
Private Sub Field_C_AfterUpdate()
Field C = DLookup("Field C", "Table1", "Field 1" = "& Field 1")
End Sub

Jeg får ikke rigtigt noget væredi med over, men måske der er en der kan hjælpe.

Mvh. Kim
Avatar billede mugs Novice
22. januar 2010 - 14:52 #1
Nu skriver du ikke om du får nogen fejl eller om der er tale om et alfanumerisk eller et numerisk felt. Denne burde fungere med et alfanumerisk kriterie:

FieldC = DLookup("[FieldC]", "Table1", "[Field1]='" & Me.Field1 & "'")

Hbis kriteriet et numerisk, skal du udelade apostrofferne om kriteriet.

Desuden skriver du, at den kun skal hente værdien til FieldC hvis FieldA er udfyldt, men jeg ser ikke nogen betingelse for dette. Evt i stil med dette:

If not Isnull (FieldA) then
din DLookUp
end if
Avatar billede mugs Novice
22. januar 2010 - 14:56 #2
Du har indsat koden i feltets AfterUpdate. Denne hændelse indtræffer som navnet siger EFTER tabellen er opdateret. Så det er ikke sikkert, at eventen overhovedet indtræffer.

Du må kunne indsætte koden i FieldA f.eks. i BeforeUpdate eller Exit. Derved kan du gøre FieldC egenskab Locked til True, så markøren slet ikke lander i feltet. Det ville være mere elegant.
Avatar billede svinget Praktikant
25. januar 2010 - 09:55 #3
Det er et text felt.

Jeg har nu sat det ind "after update"

Det kommer en fejl, hvor den skriver "Compile error: Method or data member not found"

Field1 i "Me.Field1" er highlited

Hvad kan det mon skyldes?
Avatar billede mugs Novice
25. januar 2010 - 11:43 #4
Fejlen opstår fordi der er en stavefejl i feltnavnet eller også, at feltet slet ikke er medtaget i formularen.
Avatar billede svinget Praktikant
25. januar 2010 - 14:12 #5
Jeg har et felt der hedder field1 i table1.

Kan jeg evt. sende databasen til dig? (fylder kun 200 kb)
Avatar billede mugs Novice
25. januar 2010 - 14:21 #6
OK som en .zip fil:

mugs snabelting mail.dk

Skriv lige hvilken formular / felt det drejer sig om.
Avatar billede svinget Praktikant
25. januar 2010 - 14:34 #7
Fedt at du gider tage dig tid til det.

Jeg sender den nu

Jeg har kun oprettet et lille eksempel, så jeg ikke har nødig at sende hele "Master" databasen til dig.
Avatar billede svinget Praktikant
25. januar 2010 - 15:42 #8
Mange tak for hjælpen - nu virker det :)
Avatar billede mugs Novice
25. januar 2010 - 15:56 #9
Tak for piont.
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