webForumDet fria alternativet

isNull() m.m på "PM"-fält

ASP

2 svar · 269 visningar · startad av Brimba

Medlem sedan dec. 19995 874 inlägg
Frågan#1

Hej!

Finns det något bra skäl till varför man inte kan köra:

If isNull(rs("fldData"))...

utan måste

variabel = rs("fldData")
If isNull(variabel)...

Detta gäller endast PM-fält (Access), vad jag har märkt.

Tips?

------------------
Mvh
Patrik aka Brimba
<A HREF="http://www.brimba.nu/default.asp?oPID=poll&PollID=20" TARGET=_blank>Har du husdjur hemma?
</A>Varför får man inte dricka saltvatten?

Medlem sedan dec. 200012 464 inlägg
#2

I och med att det ena inte fungerar så är väl det bra skäl nog. Det finns inget alternativ till din kodning om inte du kan göra något i sql-satsen.

T.ex

sql = "select a,b,c,iif(pmfield is null,'Odefinierat',pmfield) as pmfield from t

Anldningen till att det fungerar som det gör är att ADO inte vill skapa en buffer för att hålla värdet. Hanteringen är ju tänkt för att även passa för stora objekt (upp till 2Gb) då man vill undvika alla mellanlagringar.
Problemet är ju att man i Access ganska ofta måste använda PM då maxlängden annars är 255. (De flesta andra DBMS har en högre maxlängd så problemet uppträder inte lika ofta.)

------------------
essentitia preter non sans multiplicandum

Medlem sedan dec. 19995 874 inlägg
#3

självklart använder jag IIF() :) underbar funktion, men jag var mest nyfiken eftersom jag först inte förstod när problemet uppstod, men kom senare på att det var vissa funktioner som inte ville fungera med PM-fält :)

------------------
Mvh
Patrik aka Brimba
<A HREF="http://www.brimba.nu/default.asp?oPID=poll&PollID=20" TARGET=_blank>Har du husdjur hemma?
</A>Varför får man inte dricka saltvatten?

1358 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
1223 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)