Oprettet man. d. 23. juli 2012 kl. 19:10:36

49jensen
49jensen (8.175 point. Point ude: 90)

Problemer med If - Then- Else kode

Jeg kan ikke få nedenstående kode til at virke. Om det er fordi jeg sætter "Me." ind som sammenligning eller værdierne ikke kan findes er jeg i tvivl om.
Feltet "Me.ICAOType" henter værdien "C172" når formlen åbnes.
Værdien som der skal sammenlignes med ligger i et notatfelt - således C172komma mellemrum 182komma mellemrum o.s.v.
Som koden er nu, kommer MsgBox i alle tifælde, fjerner jeg klammerne omkring Me.ICAOType ingen MsgBox i alle tilfælde.
Jeg tror det er fordi jeg sammenligner med "Me.....", men hvad kan jeg ellers gøre for at få værdien i feltet.
 
Private Sub Sign_BeforeUpdate(Cancel As Integer)
Dim Stringsearch As String

Stringsearch = Me!Sign
Me!Initials = DLookup("[Initials]", "TblClearedStaffInfo", "[SignCode]='" & Stringsearch & "'")

If DLookup("[PLicensTypes]", "TblClearedStaffInfo", "[SignCode]='" & Stringsearch & "'") Like "*[Me.ICAOType]*" Then
Else
MsgBox "You must have a valid C172 typerating", vbExclamation
End If
End Sub

Skrevet man. d. 23. juli 2012 kl. 19:56:10| #1

terry
terry (253.717 point)
"*[Me.ICAOType]*"

this is just a string containg the characters *[Me.ICAOType]*

it doesnt contain the contents of teh field Me.ICAOType]

Try

"*" &[Me.ICAOType] & "*"

Skrevet man. d. 23. juli 2012 kl. 19:56:40| #2

terry
terry (253.717 point)
"*" & [Me.ICAOType] & "*"

Skrevet man. d. 23. juli 2012 kl. 20:53:28| #3

49jensen
49jensen (8.175 point)
Det virker ikke, jeg får følgende fejlmeddellelse - "kan ikke finde feltet "|" der refereres til"

Skrevet man. d. 23. juli 2012 kl. 21:06:52| #4

terry
terry (253.717 point)
can you send the dB?

ekspertenATsanthell.dk
AT = @

Skrevet man. d. 23. juli 2012 kl. 21:14:53| #5

49jensen
49jensen (8.175 point)
Det kan jeg godt men den er efterhånden ret kompliceret og fylder 25Mb

Skrevet man. d. 23. juli 2012 kl. 21:19:18| #6

terry
terry (253.717 point)
OK.

"kan ikke finde feltet "|" der refereres til"

I cant see what you are doing but you need to use the debugger to try and find out where "|" is comming from.

Try and explain wht you did to get that error

Skrevet man. d. 23. juli 2012 kl. 21:27:55| #7

49jensen
49jensen (8.175 point)
This is how that part of the code was when I got the message,
maybe I did something wrong, I'm knew in this "VBA".
If DLookup("[PLicensTypes]", "TblClearedStaffInfo", "[SignCode]='" & Stringsearch & "'") Like "*" & [Me.ICAOType] & "*" Then
Else

Skrevet man. d. 23. juli 2012 kl. 21:47:52| #8

terry
terry (253.717 point)
did you try using the debugger like I asked?


we need to know what dlookuo returns!

Skrevet man. d. 23. juli 2012 kl. 22:00:01| #9

49jensen
49jensen (8.175 point)
Me.ICAOType shows the "SignCode" (774740) and it should show the ICAOType (C172)
Before with the earlier code the ICAOType shows "C172" but I did not get the correct info as explained earlier.

Skrevet man. d. 23. juli 2012 kl. 22:04:04| #10

terry
terry (253.717 point)
OK, so you are at least geting a value in Me.ICAOType.

What does Dllokup give?

CTRL+G

?DLookup("[PLicensTypes]", "TblClearedStaffInfo", "[SignCode]='" & Stringsearch & "'")

Skrevet man. d. 23. juli 2012 kl. 22:09:26| #11

49jensen
49jensen (8.175 point)
The DLookup gives the SignCode(774740). If I instead of "Me...." write the value it should give (Like "*C172*") it works.

Skrevet man. d. 23. juli 2012 kl. 22:10:16| #12

terry
terry (253.717 point)
I cant see why Me.ICAOType shows the "SignCode" (774740) but if it sa field on the form then you should be able to seewhat the value is.

Using the debugger wil help you find the problem I'm sure

Skrevet man. d. 23. juli 2012 kl. 22:16:00| #13

terry
terry (253.717 point)
..should give (Like "*C172*") it works.

So what you are saying is the part after Like is wrong

Try looking at this in debug

?"*" & [Me.ICAOType] & "*"

Skrevet man. d. 23. juli 2012 kl. 22:17:14| #14

terry
terry (253.717 point)
If it gives you "*774740*" then you must be using the wrong field

Skrevet man. d. 23. juli 2012 kl. 22:22:10| #15

terry
terry (253.717 point)
And I wil be closing down shortly, need to be up early tomorrow

Skrevet man. d. 23. juli 2012 kl. 22:30:37| #16

terry
terry (253.717 point)
I'l take a look again tomorrow

Skrevet man. d. 23. juli 2012 kl. 22:32:47| #17

49jensen
49jensen (8.175 point)
ok thanks, I will go on trying to solve the problem, don't have to get up early - retired.

Skrevet man. d. 23. juli 2012 kl. 23:35:35| #18

spg
spg (45.111 point)
www.databasemakers.com
Me.ICAOType skal ikke have [] omkring!~)

Skrevet tir. d. 24. juli 2012 kl. 00:39:06| #19

49jensen
49jensen (8.175 point)
Det har jeg prøvet. Hvis jeg sætter klammer om får jeg ikke Åbnet MsgBox ved nogen SignCode jeg indtaster, selvom en af dem skulle give Msg.Box. Hvis jeg fjerner klammerne får jeg Msg.Box ved alle SignCode hvor jeg kun skulle have en.

Skrevet tir. d. 24. juli 2012 kl. 01:26:36| #20

49jensen
49jensen (8.175 point)
Vi stopper denne tråd indtil Terry har kigget DB.

Skrevet tir. d. 24. juli 2012 kl. 19:59:34| #21

terry
terry (253.717 point)
I have sent you an email

TRy this
If DLookup("[PLicensTypes]", "TblClearedStaffInfo", "[SignCode]='" & Stringsearch & "'") Like "*" & Me.ICAOType & "*" Then
Else

....

Skrevet tir. d. 24. juli 2012 kl. 20:20:02| #22

49jensen
49jensen (8.175 point)
It's working. Thank's very much and "læg et svar"

Skrevet tir. d. 24. juli 2012 kl. 20:30:08| #23

terry
terry (253.717 point)
there is one a Looong way up :o)

Skrevet man. d. 23. juli 2012 kl. 19:56:10| #1

but here's another ...

Thanks

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   


Seneste spørgsmål

Overfør dato til en popup

Oprettet den 18. juni 2013 kl. 18.28
per2edb giver 30 point for svar | Giv et svar »

Ændre afkrydsningfelt til liste

Oprettet den 15. juni 2013 kl. 12.40
hcthorsen giver 60 point for svar | Giv et svar »

lager styring Access eller excel

Oprettet den 13. juni 2013 kl. 14.32
peja_ giver 30 point for svar | Giv et svar »







IT Kurser
Samarbejdspartnere

Udgiver · © 2013 Computerworld A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger