conmpileer fout if else constructie

Status
Niet open voor verdere reacties.

musti

Gebruiker
Lid geworden
26 feb 2006
Berichten
143
If Maand = "Januari" Then
datum = "1-1" And Vervaldatum = "1-2"
Else
If Maand = "Februari" Then
datum = "1-2" And Vervaldatum = "1-3"
End If


Ik krijg de voglende foutmelding bij de de bovenstaande code:

(Compileerfout: Blok iF zonder end if)
 
Code:
If Maand = "Januari" Then
datum = "1-1" And Vervaldatum = "1-2"
ElseIf Maand = "Februari" Then
datum = "1-2" And Vervaldatum = "1-3"
End If
 
Code:
If Maand = "Januari" Then
datum = "1-1" And Vervaldatum = "1-2"
ElseIf Maand = "Februari" Then
datum = "1-2" And Vervaldatum = "1-3"
End If

Bedankt, maar dan zit ik nog met een klein probleempje, namelijk
dat wanneer ik vervaldatum ook erin zet dat het dan de volgende foutmelding geeft:

Fout 13 tijdens uitvoering:

typen komen niet met elkaar overeen
 
Kun je je database zonder gevoelige informatie hier op het forum zetten?
 
Ik wil even kijken waar de foutmelding precies vandaan komt.
 
Als ik even mag inbreken?
If Maand = "Januari" Then
datum = "1-1" And Vervaldatum = "1-2"
ElseIf Maand = "Februari" Then
datum = "1-2" And Vervaldatum = "1-3"
End If
Wat wil je precies doen?

datum = "1-2" And Vervaldatum = "1-3"

betekent dat datum True wordt als de VervalDatum gelijk is aan "1-3"

Het ziet er een beetje vreemd uit. Je vervaldatum is van het type string(?) en wordt vergeleken met de string "1-3".

Dat slaat nergens op.

Misschien bedoel je dit:
Code:
select case Maand
case "Januari"
    Datum = DateSerial(year(date()),1,1) ' 1 januari dit jaar
    VervalDatum = DateSerial(year(date()),2,1) ' 1 februari dit jaar
case "Februari"
    Datum = DateSerial(year(date()),2,1) ' 1 februari dit jaar
    VervalDatum = DateSerial(year(date()),3,1) ' 1 maart dit jaar
end select
of iets korter als je alle maanden op wilt nemen:
Code:
select case Maand
case "Januari"
    intMaand=1
case "Februari"
    intMaand=2
end select

Datum = DateSerial(year(date()),intMaand,1) 
if intMaand<12 then
    VervalDatum = DateSerial(year(date()),intMaand+1,1) 
else
    VervalDatum = DateSerial(year(date())+1,1,1) ' 1 januari volgend jaar
endif

enjoy!
 
Als ik even mag inbreken?

Wat wil je precies doen?

datum = "1-2" And Vervaldatum = "1-3"

betekent dat datum True wordt als de VervalDatum gelijk is aan "1-3"

Het ziet er een beetje vreemd uit. Je vervaldatum is van het type string(?) en wordt vergeleken met de string "1-3".

Dat slaat nergens op.

Misschien bedoel je dit:
Code:
select case Maand
case "Januari"
    Datum = DateSerial(year(date()),1,1) ' 1 januari dit jaar
    VervalDatum = DateSerial(year(date()),2,1) ' 1 februari dit jaar
case "Februari"
    Datum = DateSerial(year(date()),2,1) ' 1 februari dit jaar
    VervalDatum = DateSerial(year(date()),3,1) ' 1 maart dit jaar
end select
of iets korter als je alle maanden op wilt nemen:
Code:
select case Maand
case "Januari"
    intMaand=1
case "Februari"
    intMaand=2
end select

Datum = DateSerial(year(date()),intMaand,1) 
if intMaand<12 then
    VervalDatum = DateSerial(year(date()),intMaand+1,1) 
else
    VervalDatum = DateSerial(year(date())+1,1,1) ' 1 januari volgend jaar
endif

enjoy!


Hartstikke bedankt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan