Avatar billede cuac Nybegynder
25. februar 2003 - 10:54 Der er 18 kommentarer og
1 løsning

dlookup med flere kriterier

Jeg har en formular, hvor jeg vælger et postnr via et opslag i en postnummertabel (SELECT PostID, Postnr FROM tblPostnummer ORDER BY Postnr)PostID er skjult. Min postnummertabel har en virtuel primærnøgle postID som  skal bruges til SQL-2000 replikering. Jeg vil nu gerne have vist tilhørende bynavn via dlookup funktionen, men da jeg reelt har postID og postnr som kriterie virker det ikke, hvad gør jeg?

Mit udgangspunkt er nedenstående:

Private Sub Postnr_AfterUpdate()
Dim X As Variant
X = DLookup("[By]", "tblPostnummer", "postnr = forms!frmopretleverandør!postnr")
Me.By = X
End Sub

cuac
Avatar billede nih Novice
25. februar 2003 - 10:57 #1
X = DLookup("[By]", "tblPostnummer", "postnr = " & forms!frmopretleverandør!postnr)
Avatar billede nih Novice
25. februar 2003 - 10:58 #2
Hvis post nr er et textfelt:
X = DLookup("[By]", "tblPostnummer", "postnr = '" & forms!frmopretleverandør!postnr & "'")
Avatar billede rosted Nybegynder
25. februar 2003 - 11:03 #3
"reelt har postID og postnr som kriterie virker det ikke". Hvad mener du med det?
Avatar billede henrik13 Nybegynder
25. februar 2003 - 11:07 #4
Kikker
Avatar billede jkrons Professor
25. februar 2003 - 11:10 #5
Prøv
X = DLookup("[By]", "tblPostnummer", "[Postnr] = " & Forms!fromopretleverandør!postnr)
Avatar billede jkrons Professor
25. februar 2003 - 11:11 #6
Og stave kan jeg heller ikke

X = DLookup("[By]", "tblPostnummer", "[Postnr] = " & Forms!frmopretleverandør!postnr)
Avatar billede cuac Nybegynder
25. februar 2003 - 11:35 #7
Tilføjelse:
Når jeg vælger et postnr på  min kombobox, vælger jeg jo faktisk både et postID samt et tilhørende postnr, men postID er skjult og ses derfor ikke.
Kriteriet i dlookup vil derfor være begge disse felter, måske det ikke kan lade sig gøre?

Cuac
Avatar billede jkrons Professor
25. februar 2003 - 11:37 #8
Nej, kriteriet vil I så fald kun være den bundne kolonne, typisk i dit tilfælde PostID. Jeg havde overset, at du valgte fra en komboboks:


X = DLookup("[By]", "tblPostnummer", "[PostId] = " & Forms!frmopretleverandør!postnr)
Avatar billede nih Novice
25. februar 2003 - 11:38 #9
værdien i comboen er den bundne kollone - altså ID'et
Avatar billede nih Novice
25. februar 2003 - 11:42 #10
X = DLookup("[By]", "tblPostnummer", "postnr = " & Me.Kombinationsboks0.Column(1))

hvor Kombinationsboks0 er navnet på Kombinationsboksen
Avatar billede cuac Nybegynder
25. februar 2003 - 12:07 #11
Hej Jan!

Jeg har prøvet din kode, men får en VBA fejl:

Run time error 170

Line 1: Incorrect syntax near '?'

Mine værdier i PostID ser således ud i tabellen:

{61CD2821-2191-471A-AB76-BB136053A955}

De er generet som global unique id.

Cuac
Avatar billede terry Ekspert
25. februar 2003 - 14:30 #12
its should be much the same a sthe WHERE clause in a SQL statement so,
Private Sub Postnr_AfterUpdate()
Dim X As Variant
X = DLookup("[By]", "tblPostnummer", "postnr = " & me.postnr & " AND PostID = " & me.PostID)
Me.By = X
End Sub
Avatar billede terry Ekspert
25. februar 2003 - 14:33 #13
If the PostID is the FIRST column in the combo then
X = DLookup("[By]", "tblPostnummer", "postnr = " & me.postnr & " AND PostID = " & me.Postnr.column(0) )
Avatar billede terry Ekspert
25. februar 2003 - 14:33 #14
column sstart at 0
Avatar billede rosted Nybegynder
25. februar 2003 - 14:36 #15
Men de er vel begge unikke? Hvorfor så bruge begge to?
Avatar billede terry Ekspert
25. februar 2003 - 15:09 #16
Hi rosted, I was thinking that myslef, but I thought I would give cuac what he asked for :o)
Avatar billede cuac Nybegynder
25. februar 2003 - 18:58 #17
Hej nih!

Tilbage ved computeren, har jeg lige testet din kommentar, og det virker!!

X = DLookup("[By]", "tblPostnummer", "postnr = " & Me.Postnr.Column(1))

Access understøtter tilsyneladende ikke datatypen uniqueidentifier som opnås via SQL-server2000 projekt, for hvis jeg sætter dlookup til at slå op på dette felt (postid, som egentlig er nøglefeltet kommer der en konflikt.)

Kan du nih, ikke lige lægge din kommentar ind som svar så er der point!

cuac
Avatar billede nih Novice
25. februar 2003 - 20:06 #18
jow tak
Avatar billede nih Novice
25. februar 2003 - 22:08 #19
cuac -> som en anden løsning på dit problem kan du have 2 combobokse den første hvor der vælges postnr og en anden hvor der vælges by.
De skal sættes ens op blot skal du skjule den første kolloner i den ene (postId) - og de 2 første i den anden (postID og postNr).
Herved kan brugeren selom om han indtaster bynavn eller postnr de 2 comboer vil altid passe til hinanden.

***** forudsat de er knyttet til et felt på formen (postId)  *****

Niels
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