MSAccess + Len()

5 отговора 103 прегледа
#1

MSAccess + Len()

някой има ли представа, защо при едно такова условие:

if Len(rst!Username) > 0 then
MsgBox(rst!Username)
else
if Len(rst!Username) = 0 then
MsgBox("Prazno!")
end if
end if
не се изпълнява нито един от двата MsgBoxа при празно поле rst!Username?



благодаря!

"...казват, че съдбата закриля смелите и тези, които могат да се поучат от грешките си..."

Редактирано от djafar на

Отговор
в отговор на djafar #2

Re: MSAccess + Len()

виж какво връща функцията, ако като параметър и се подаде NULL, не помня вече....

[линк]
Отговор
в отговор на Topбaлaн #3

Re: MSAccess + Len()

vidiah! vrushta NULL
promenih go na
if Not(Len() = Null) then
...
else
if Len() = Null then
...
end if
end if
ama tova ne pomogna. toi prosto ne vliza v nito edno ot dvete uslovia. ne znam kak go pravi. a ne iskam da pulnia poleto s niakakvi znaci, pri vse che tova vse pak e niakakvo reshnie...


"...казват, че съдбата закриля смелите и тези, които могат да се поучат от грешките си..."
Отговор
в отговор на djafar #4

Re: MSAccess + Len()

малко смотана ми се струва тая работа, ама все пак има логика:
в хелпа на функцията IsNull пише, че не можело изрази от рода на
if var = Null или
if var <> Null да върнат True, щото тъй като вариаблата била
null, значи била и
false...
важното е че тръгна, де!
мерси за помоща!


"...казват, че съдбата закриля смелите и тези, които могат да се поучат от грешките си..."
Отговор
в отговор на djafar #5

Solution

if Len(NZ(rst!Username,"") > 0 then
MsgBox(rst!Username)
else
MsgBox("Empty!")
end if


Отговор
в отговор на Dani #6

Second closing braket is missing

Second closing braket is missing. Sorry.
This must be the correct syntax:

if Len(NZ(rst!Username,"")) > 0 then
MsgBox(rst!Username)
else
MsgBox("Empty!")
end if

Отговор