<% Set Rs = Server.CreateObject(\"ADODB.Connection\") DBPath = \"DBQ=\" & server.mappath(\"database.mdb\") Rs.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; \" & DBPath sql = \"SELECT SUM(kvinde) AS kvTotal,COUNT(*) AS total FROM bruger where kon=\'kvinde\' and godkendt=true\" prosent = (RS(\"kvTotal\") * 100) %> <%=RS(\"total\")%>
Fejl: Microsoft VBScript runtime error \'800a01c2\'
Wrong number of arguments or invalid property assignment: \'rs\'
hmmm....først vil jeg nevne at du bruker litt misvisende navn på dine variabler. Normalt så bruker man variabelnavnet RS til et RecordSet object, ikke et Connection object, men....det er du selv om...
sqlKvinner = \"SELECT SUM(kvinde) AS kvTotal FROM bruger where kon=\'kvinde\' and godkendt=true\" sqlTotal = \"SELECT COUNT(*) AS total FROM bruger where kon=\'kvinde\' and godkendt=true\"
Dim kvTotal, total Set RS = Conn.Execute( sqlKvinner ) kvTotal = RS(\"kvTotal\") Set RS = Conn.Execute( sqlTotal ) total = RS(\"total\")
deretter kan du prøve å skrive ut kvTotal og total for å se om du har noen verdier i dem. Hvis du ikke har noen verdier i dem, så er det noe galt med din(e) sql statements og dette vil generere en runtime error...
sqlKvinner = \"SELECT SUM(kvinde) AS kvTotal FROM bruger where kon=\'kvinde\' and godkendt=true\" sqlTotal = \"SELECT COUNT(*) AS total FROM bruger where kon=\'kvinde\' and godkendt=true\"
Dim kvTotal, total Set RS = Conn.Execute( sqlKvinner ) if( NOT RS.EOF ) then kvTotal = RS(\"kvTotal\") else kvTotal = 0 end if Set RS = Conn.Execute( sqlTotal ) if( NOT RS.EOF ) then total = RS(\"total\") else total = 0 end if
gir den ikke et hint om i hvilken linje den gir feil i ? Hvis den ikke gjør det, så fjern en og en linje fra bunnen. Start med å fjerne linjen: response.write \"Prosent kvinner: \" & ( kvTotal * 100 ) / total
For å se hvor feilen oppstår. Jeg har på fornemmelsen av at det nettopp er denne linje som skaper problemer. Hvis det er denne linje, så prøv å bytte ut:
kvTotal = RS(\"kvTotal\") med kvTotal = CInt(RS(\"kvTotal\"))
og
total = RS(\"total\") med total = CInt(RS(\"total\"))
/nute
Synes godt om
Ny brugerNybegynder
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.