18. april 2003 - 19:09Der er
4 kommentarer og 1 løsning
invalid use of null
jeg henter en masse poster fra en database og smider dem ind i en listbox men efter den første post dvs ved post nr 2 i databasen så kommer den med fejlen invalid use of null runtime error 94 den siger fejlen er ved snot = rs("addy") koden kommer her:
Public Sub loadfromdb() Set Conn = CreateObject("ADODB.Connection") Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & App.Path & "\addys.mdb" sql = "SELECT * FROM addys" Set rs = Conn.Execute(sql) While Not rs.EOF snot = rs("addy") lstRcp.AddItem snot Wend Conn.Close End Sub
Det sker hvis der ikke er nogen værdi i addy-feltet.
Brug enten:
Public Sub loadfromdb() Set Conn = CreateObject("ADODB.Connection") Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & App.Path & "\addys.mdb" sql = "SELECT * FROM addys WHERE addy is not null" Set rs = Conn.Execute(sql) While Not rs.EOF snot = rs("addy") lstRcp.AddItem snot Wend Conn.Close End Sub
Eller
Public Sub loadfromdb() Set Conn = CreateObject("ADODB.Connection") Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & App.Path & "\addys.mdb" sql = "SELECT * FROM addys" Set rs = Conn.Execute(sql) While Not rs.EOF if not isnull(rs("addy").Value) then snot = rs("addy") lstRcp.AddItem snot end if Wend Conn.Close End Sub
Ahhh - der mangler jo en rs.MoveNext. Også i din kode. Så det er nok derfor den "hænger". Den bliver jo aldrig færdig.
Den skal ind lige før wend.
Public Sub loadfromdb() Set Conn = CreateObject("ADODB.Connection") Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & App.Path & "\addys.mdb" sql = "SELECT * FROM addys" Set rs = Conn.Execute(sql) While Not rs.EOF if not isnull(rs("addy").Value) then snot = rs("addy") lstRcp.AddItem snot end if rs.MoveNext Wend Conn.Close End Sub
Ellers, prøv det gode gamle hack.
Public Sub loadfromdb() Set Conn = CreateObject("ADODB.Connection") Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & App.Path & "\addys.mdb" sql = "SELECT * FROM addys" Set rs = Conn.Execute(sql) While Not rs.EOF snot="" & rs("addy") if snot<>"" then lstRcp.AddItem snot end if rs.MoveNext Wend Conn.Close End Sub
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.