Toon posts:

[asp & ms access2k] memo field probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een tabel met een aantal gegevens, hier zit ook een memofield in.
Ik kan alle info gewoon op de pagina weg schrijven, maar nu wil ik gaan controleren of er wel iets in de het veld in de tabel staat.

Dus doe ik
ASP:
1
2
3
4
5
6
7
<%
if isempty(adoRS("naamvanmemoveld")) then 
   response.write "N/A"
else
   response.write adoRS("naamvanmemoveld")
end if
%>


en nu zie ik dus niets meer staan.

Hij komt wel in de else lus, maar schrijft niets weg. (dus krijg gewoon een lege regel ipv text).

dit werkt ook niet:
ASP:
1
2
3
4
5
6
7
<%
if ""&adoRS("naamvanmemoveld") <> "" then
   response.write "N/A"
else
   response.write adoRS("naamvanmemoveld")
end if
%>


en dit weer wel:
ASP:
1
2
3
<%
response.write adoRS("naamvanmemoveld")
%>


Heeft iemand hier een verklaring voor??

[ Voor 0% gewijzigd door Verwijderd op 12-09-2002 18:45 . Reden: typo ]


Verwijderd

Topicstarter
btw. ik kan het wel oplossen door adoRS("naamvanmemoveld") in een temp variable te stoppen en die dan uit te schrijven, maar ik wil graat weten waarom IsEmpty niet bij een memo veld werkt en wel bij een tekst veld

  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Kun je niet IsNull gebruiken?

Verwijderd

Topicstarter
nee dan komt er N/A uit.

  • oZy
  • Registratie: Juli 2001
  • Laatst online: 22:30

oZy

gaat er dan misschien geen belletje rinkelen? "als mn memoveld NULL is, dan moet je N/A zeggen!"

en wat zegtie?

Verwijderd

Topicstarter
N/A

maar het punt is dat ie wel vol is.

ik zou het ook zo op kunnen lossen:
ASP:
1
2
3
4
5
6
7
8
<%
temp = adoRS("naamvanmemoveld")
if isempty(adoRS("naamvanmemoveld")) then 
   response.write "N/A"
else
   response.write temp
end if
%>


maar ik wil dus gewoon weten waarom het niet werkt.

  • oZy
  • Registratie: Juli 2001
  • Laatst online: 22:30

oZy

hehe.. ergens begon nu een belletje te rinkelen.. ik heb dit al vaker gezien, en ja hoor: [rml][ ASP] Krijg Geen Output Van Veldwaarde[/rml]

Ik dacht eerst dat ik in de war was met de bekende foutmelding als je een memoveld niet als laatste uit een mdb trekt, maar dan moettie gaan huilen, en dat gebeurde dus niet. Ik zal even kijken op het MSDN of er een in-depth verklaring voor is.

Oh, moet trouwens dan wel ff dit van maken:
ASP:
1
If temp = "" Then

ipv die isempty regel.

-----
Bingo, PRB: Invalid Use of NULL Assigning Text Fields Value :Y)

Het gaat hier dan wel over SQL Server, maar de fout zit in het feit dat ADO de waarden van een text field standaard niet cached, en vandaar kan je het ook maar 1 keer aanspreken.

Zoals al in dat oude topic wordt gezegd, je mag officieel de gegevens van een recordset sowieso maar 1 keer aanspreken, maar omdat ADO het voor je cached werkt het wel als je ze meedere keren aanspreekt. Dat geld alleen niet voor memo velden. Ik denk omdat een text field erg groot kan zijn en daarmee de performance benadeeld? Zou het anders ook niet weten, maar je hebt je antwoord tenminste ;)

  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
Een memoveld is leeg nadat je um geaccessd hebt. Vraag je um op, dan is ie weg. Temp var is dus de oplossing.

Sjekken of ie leeg is:
code:
1
2
3
4
5
6
tempvar = rs("memoveld")
if isNull(tempvar) or tempvar="" then
  Response.write("N/A")
else
  Response.write(tempvar)
end if

Verwijderd

Topicstarter
Bij een text veld lukt het dus wel.

maar goed toch maar de oude manier.

btw, wat ik deed werkt ook.

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • oZy
  • Registratie: Juli 2001
  • Laatst online: 22:30

oZy

Verwijderd schreef op 13 september 2002 @ 00:24:
Bij een text veld lukt het dus wel.
text field == memoveld

  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
Kij dat had ik dus ook, zoals je kan zien in het topic dat al genoemd is. Is gewoon weer eens een bug van Microsoft.

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
zneek schreef op 12 september 2002 @ 23:49:
Een memoveld is leeg nadat je um het geaccessd hebt. Vraag je um het op, dan is ie weg. Temp var is dus de oplossing.

Sjekken checken of ie leeg is:


Dit leest gewoon veel makkelijker.
'Spreektaal' lezen is gewoon irritant.

https://fgheysels.github.io/


  • oZy
  • Registratie: Juli 2001
  • Laatst online: 22:30

oZy

Supervisor schreef op 13 september 2002 @ 10:04:
Kij dat had ik dus ook, zoals je kan zien in het topic dat al genoemd is. Is gewoon weer eens een bug van Microsoft.
bug? het is eigenlijk een bug dat je de meeste velden meerdere malen kunt aanspreken dankzij de caching van ADO. *Eigenlijk* hoort het met alle velden zo te gaan als bij het memoveld dus.

Verwijderd

Topicstarter
oZy schreef op 13 september 2002 @ 09:21:
[...]
text field == memoveld
in access heb je het type tekst, memo, datum etc.

bij tekst werkt het dus WEL alleen niet bij memo

  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
whoami schreef op 13 september 2002 @ 10:10:

[...]


Dit leest gewoon veel makkelijker.
'Spreektaal' lezen is gewoon irritant.
Jezus man, ga eff lopen zeiken. Ik help gewoon, en heb niet altijd het groene boekje bij de hand.

So, sue me! :)
Pagina: 1