10. oktober 2001 - 17:28Der er
16 kommentarer og 3 løsninger
Hjælp til VBA kode
Jeg har en forespørgsel \"QFindtid\" som indeholder følgende felter \"DisciplinID\", \"Tid\", \"Køn\", Naalbetgenelse\", \"NaalID\".
Når der oprettes en ny post, skal der før Datofeltet opdateres søges i \"Qfindtid\" efter en post hvor \"QFindtid\".\"DiciplinID\" = me.DisciplinID & \"QFindtid\".\"Køn\" = me.Køn & \"QFindtid\".\"tid\" > me.tid. hvis udtrykket er sandt skal den returnere en meddelelsesboks med \"tekst\"&\"QFindtid\".\"Naalbetegnelse\"\"tekst\"
forespørgslen \"QFindtid\" er sorteret efter stigende \"Disciplinid\",Stigende \"Køn\" og Stigende \"tid\".
Det jeg har virker ikke men ser sådan her ud:
If Me.tid < DFirst(\"tid\", \"Qtider\", [DisciplinID] = Me.DisciplinID And [Køn] = Me.Køn) And Me.tid < [tid] Then If True Then MsgBox \"nål fortjent \" & DLookup(\"naalbetegnelse\", \"Qfindtid\", Me.tid < DFirst(\"tid\", \"Qtider\", [DisciplinID] = Me.DisciplinID And [Køn] = Me.Køn) And Me.tid < [tid])
Efter ti år i London, Madrid, Paris og Utrecht kommer Sabios AI-fokuserede program af arrangementer om kundeoplevelser, ‘Disrupt’, for første gang til Danmark.
If True vil da vist altid være sand :o) Prøv den enkle: If Me.tid < DFirst(\"tid\", \"Qtider\", [DisciplinID] = Me.DisciplinID And [Køn] = Me.Køn) And Me.tid < [tid] Then MsgBox \"nål fortjent \" & DLookup(\"naalbetegnelse\", \"Qfindtid\", Me.tid < DFirst(\"tid\", \"Qtider\", [DisciplinID] = Me.DisciplinID And [Køn] = Me.Køn) And Me.tid < [tid]) end if
Jeg ville nok gøre det sådan her (der er en masse fundamentale fejl i den måde DFirst er brugt):
Dim Nål as string Nål = DFirst(\"naalbetegnelse\", \"QFindtid\", \"[DisciplinID] = \" & Me.DisciplinID & \" And [Køn] = \'\" & Me.Køn & \"\' And [tid] > #\" & Me!Tid & \"#\") If Nål <> \"\" then msgbox \"nål fortjent \" & Nål endif
Derved sparer jeg et DFirst-kald (som er ret langsomt og resourcekrævende)
Jeg er ikke 100% sikker på at jeg har forstået dig ret, så det kan godt være at det er noget forkert jeg finder. Men så må du lige forklare det nærmere.
ncbr> What is this outside the Dlookup? And Me.tid < [tid]
In the where part of the Dlookup you have to be carefull to have the fields where your taking the values from OUTSIDE of the strings \" \". The & character is used to concatenate strings into one string. If they are outside of the string then Access can put the values into the string, otherwise it is just one long string with for example the word Me.tid in the middle.
This is NOT correct, but hopefully it will put you on th eright track.
If Me.tid < DFirst(\"tid\", \"Qtider\", \"[DisciplinID] = \" & Me.DisciplinID & \" And [Køn] = \" & Me.Køn ) And Me.tid < [tid] Then MsgBox \"nål fortjent \" & DLookup(\"naalbetegnelse\", \"Qfindtid\", \" Me.tid < \" & DFirst(\"tid\", \"Qtider\", \"[DisciplinID] = \" & Me.DisciplinID \" & \"And [Køn] = \" & Me.Køn \" & And \" & Me.tid & \" < [tid]) end if
Thomas>>> jeg får en run-time error \' der er en syntaksfejl i datoen i forespørgselsudtrykket \"[DisciplinID] = 1 And [Køn]= \'Dreng\' And [tid] > #5597#\".
det virker mår den kan finde en post hvor [tid] er større me!tid, men ellers kommer der en meddelelse om at det er ulovelig brug af null, det skal jeg lige have kodet mig ud af.
Then you have to test if Nål is Null before If Nål <> \"\" then msgbox \"nål fortjent \" & Nål endif
Synes godt om
Ny brugerNybegynder
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.