Avatar billede oasen Nybegynder
15. marts 2002 - 22:36 Der er 30 kommentarer og
2 løsninger

Giv besked hvis celle tom i database

Hvad er der galt her?

<%
' Åben databaseforbindelse
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("audio.mdb")
Conn.Open DSN

' Hent fra databasen afhængig af værdien id fra URL
strSQL = "Select * From audiotabel Where ID = " & Request.Querystring("id")
Set rs = Conn.Execute(strSQL)

if len(rs("Lyrik")) = 0 then Response.Write "<br><br><h3>Der er desværre ingen lyrik lagt ind til denne sang...</h3>"
else

' Skriv trackets lyrik
Response.Write "<h3>" & rs("Track") & "</h3>" & "<br>" & " " & "<pre>" & rs("Lyrik") & "</pre>"

end if

Conn.Close
Set Conn = Nothing
%>
Avatar billede fuldstop Nybegynder
15. marts 2002 - 22:42 #1
Prøv evt. med følgende
DSN = DSN & "DBQ=" & Server.MapPath ("/audio.mdb")
Avatar billede tniels Nybegynder
15. marts 2002 - 22:42 #2
Prøv at sende fejlmeddelelsen.
Avatar billede oasen Nybegynder
15. marts 2002 - 22:57 #3
Her:

Microsoft VBScript compilation error '800a03ea'

Syntax error

/test/lyrik.asp, line 19

else
^
Avatar billede oasen Nybegynder
15. marts 2002 - 23:00 #4
fuldstop--->Fejlen er der desværre stadig...

Hvis det er til nogen hjælp kan databasen ses her:

www.whynet.dk/test/accapture.jpg
Avatar billede fuldstop Nybegynder
15. marts 2002 - 23:04 #5
Bliver der skrevet 0 til databasen hvis der ikke er noget i den, ellers skal du måske:
if len(rs("Lyrik")) = "" then Response.Write "<br><br><h3>Der er desværre ingen lyrik lagt ind til denne sang...</h3>"
Avatar billede oasen Nybegynder
15. marts 2002 - 23:05 #6
2 sek, men det mener jeg, at jeg har prøvet...
Avatar billede oasen Nybegynder
15. marts 2002 - 23:07 #7
Ja, det virker ikke...

Du kan selv lige prøve : http://www.whynet.dk/test/albums.asp
Avatar billede oasen Nybegynder
15. marts 2002 - 23:08 #8
Virker fint, hvis jeg stryger if-then-else, men det burde da fungere alligevel!?
Avatar billede fuldstop Nybegynder
15. marts 2002 - 23:25 #9
if len(rs("Lyrik")) = 0 then
Response.Write "<br><br><h3>Der er desværre ingen lyrik lagt ind til denne sang...</h3>"
Skal rykkes ned, må ikke stå lige efter Then, prøv det så skulle det virke.
Avatar billede oasen Nybegynder
15. marts 2002 - 23:47 #10
Hej fuldstop...

Nææ... det virker heller ikke, men et eller andet har det bevirket, for nu får jeg denne fejlmedd.:

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'rs'

/test/lyrik.asp, line 13


Øv... Kan ikke helt regne det ud...
Avatar billede fuldstop Nybegynder
15. marts 2002 - 23:58 #11
hvad står der nu i linie 13?
Avatar billede oasen Nybegynder
15. marts 2002 - 23:59 #12
if len(rs("Lyrik")) = 0 then
Avatar billede oasen Nybegynder
16. marts 2002 - 00:00 #13
Har også prøvet at ændre 0 til "". Det hjalp ikke, men det må jo være denne sætning der er forkert...
Avatar billede fuldstop Nybegynder
16. marts 2002 - 00:03 #14
if len(rs("Lyrik")) = "0" then
Avatar billede fuldstop Nybegynder
16. marts 2002 - 00:06 #15
nej, det skulle vist ikke gøre nogen forskel.
Avatar billede oasen Nybegynder
16. marts 2002 - 00:08 #16
Nej, det funker heller ikke... hvad er der dog galt?
Avatar billede fuldstop Nybegynder
16. marts 2002 - 00:10 #17
Gud vide om man i det hele taget kan hente noget "tomt" fra databasen uden man får fejl.
Avatar billede fuldstop Nybegynder
16. marts 2002 - 00:12 #18
ellers prøv (mit sidste forsøg):
test = rs("Lyrik")
test1= Len(test)
If test1 = 0 Then
Avatar billede oasen Nybegynder
16. marts 2002 - 00:16 #19
Jeg kan ikke få lov at udskrive en tom celle, kan jeg fortælle dig. 2 sek...
Avatar billede oasen Nybegynder
16. marts 2002 - 00:19 #20
Den giver stadig samme fejl. Jeg fatter det ikke!
Avatar billede oasen Nybegynder
16. marts 2002 - 00:25 #21
Jeg holder lige spm. åbent og ser, om andre kan svare. Men mange tak for forsøget :)
Avatar billede fuldstop Nybegynder
16. marts 2002 - 00:40 #22
så lidt ;0)
Avatar billede oasen Nybegynder
16. marts 2002 - 07:12 #23
Nu ser den sådan ud og jeg får ingen fejlmedd., men lyrikken vises heller ikke...

' Hent fra databasen afhængig af værdien id fra URL
strSQL = "Select * From audiotabel Where ID = " & Request.Querystring("id")
Set rs = Conn.Execute(strSQL)

' Hvis cellen med lyrik er tom
if rs("Lyrik") = "" then

Response.Write "<br><br><h3>Der er desværre ingen lyrik lagt ind til denne sang...</h3>"

else

' Skriv trackets lyrik
Response.Write "<h3>" & rs("Track") & "</h3>" & "<br>" & " " & "<pre>" & rs("Lyrik") & "</pre>"

end if

Conn.Close
Set Conn = Nothing
%>

Hjælp mig...
Avatar billede proaccess Nybegynder
16. marts 2002 - 07:45 #24
Prøv lige med:

if rs("Lyrik") = "" or rs("Lyrik") = Null then
Avatar billede oasen Nybegynder
16. marts 2002 - 16:05 #25
Hej proaccess og mange tak for svaret :)

Nu har jeg skrevet følgende:

' Hent fra databasen afhængig af værdien id fra URL
strSQL = "Select * From audiotabel Where ID = " & Request.Querystring("id")
Set rs = Conn.Execute(strSQL)

if rs("Lyrik") = "" or rs("Lyrik") = Null then

Response.Write "Ingen lyrik til denne sang"

else

' Skriv trackets lyrik
Response.Write "<h3>" & rs("Track") & "</h3>" & "<br>" & " " & "<pre>" & rs("Lyrik") & "</pre>"

end if

Conn.Close
Set Conn = Nothing
%>

Nu udskriver den bare hverken lyrik eller fejlmedd.
Se selv:

http://www.whynet.dk/test/albums.asp

Kan du regne den ud?
Avatar billede oasen Nybegynder
16. marts 2002 - 16:07 #26
Undskyld jeg først svarer nu, men jeg har været på arbejde...
Avatar billede tniels Nybegynder
16. marts 2002 - 21:19 #27
Prøv at gøre sådan:

<%
' Hent fra databasen afhængig af værdien id fra URL
strSQL = "Select * From audiotabel Where ID = " & Request.Querystring("id")
Set rs = Conn.Execute(strSQL)

sLyrik = rs("Lyrik")

if sLyrik = "" or sLyrik = Null then

Response.Write "Ingen lyrik til denne sang"

else

' Skriv trackets lyrik
Response.Write "<h3>" & rs("Track") & "</h3>" & "<br>" & " " & "<pre>" & sLyrik & "</pre>"

end if

Conn.Close
Set Conn = Nothing
%>

Hvis "Lyrik" ligger som LONGTEXT i databasen, kan der i asp nogle gange opstå den fejl, at recordset'et bliver nulstillet efter man har hentet teksten ud en gang.
Avatar billede oasen Nybegynder
17. marts 2002 - 03:24 #28
tniels--->Jeg tror du er på sporet af noget, for nu opfører den sig helt anderledes. Jeg har tømt lyrik-memo´en til "Sangtitel 7" for data. Så nu udskriver den kun overskriften (sangtitlen), men dog stadig ikke fejlmedd. De ni andre sangtitler udskrives som de skal (med lyrik).
Avatar billede oasen Nybegynder
17. marts 2002 - 04:00 #29
Er det mon noget i den stil??? http://www.eksperten.dk/spm/185905
Avatar billede nih Novice
17. marts 2002 - 11:22 #30
Jeg er ikke meget for ASP, men tjek for null gøres i VB med isNull()
if (sLyrik = "") or (isNull(sLyrik)) then

Niels
Avatar billede oskar Nybegynder
17. marts 2002 - 13:53 #31
Fejlmeddelelsen om Type mismatch kunne tyde på at feltet Lyrik er et talfelt, ikke et tekstfelt. Derfor må der ikke være gåseøjne:

if len(rs("Lyrik")) = 0 then
Avatar billede oasen Nybegynder
18. marts 2002 - 00:07 #32
nih----> Det virker jo!!! Mange tak!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester