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
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.