tapaniMedlem sedan apr. 200093 inlägg Koden nedan skall räkna poster som innehåller ett NULL-värde. (posterna kan vara tomma i en kolumn)
Jag får fram posten som innehåller ett tomt värde men när den sedan går vidare med en post som där är något i så får jag fram följande felmeddelande:
error '80020009'
Exception occurred.
/bokn/apr3.asp, line 33
<%
Dim Counter
Set objConn = CreateObject("ADODB.Connection")
objConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\InetPub\drivingevent\bokn\test.mdb")
SQL = "SELECT * FROM Kund Where Datum LIKE '200004%'"
Set rsKal = objConn.execute(SQL)
%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" leftmargin=0 Rightmargin=0 topmargin=4>
<br>
<table width="160" border="1" cellspacing="0" cellpadding="0">
<tr>
<td width="112" align="center" height="22"><font face="Arial, Helvetica, sans-serif" size="2">Ej
betalat Dag</font></td>
<td width="42" align="center" height="22"><font face="Arial, Helvetica, sans-serif" size="2">Antal</font></td>
</tr>
<%
SQL = "SELECT COUNT(*) AS antal FROM Kund WHERE FaktNr IS NULL"
Set rsFakt = objConn.execute(SQL)
Do While Not rsKal.EOF
counter = counter + 1
If rsFakt("antal") = "" Then
antal = 0
Else
antal = rsFakt("antal")
End If
Do While Not rsFakt.EOF
%>
<tr>
<td width="112" align="center" height="22"><font face="Arial, Helvetica, sans-serif" size="2"><%=Counter%></font></td>
<td width="42" align="center" height="22"><font face="Arial, Helvetica, sans-serif" size="2">
<%= rsFakt("antal")%></font></td>
</tr>
<%
rsKal.MoveNext
rsFakt.MoveNext
Loop
Loop
rsKal.close
rsFakt.close
set rsKal = Nothing
set rsFakt = Nothing
objConn.close
set objConn = Nothing
%>
</table>
Line 33 är:
If rsFakt("antal") = "" Then
Har även provat med:
If rsFakt("antal") < 0 Then
BrimbaMedlem sedan dec. 19995 875 inlägg if rsFakt("antal") = NULL ...
if len(rsFakt("antal")) <= 0 ...
------------------
Mvh
Patrik aka Brimba
Känner du någon som är alkoholist?
tapaniMedlem sedan apr. 200093 inlägg Får inte till det..
Provade med:
If rsFakt("antal") = NULL then
antal = rsFakt("antal")
Else
If len(rsFakt("antal")) <= 0 then
antal = 0
End If
Felmeddelande:
Microsoft VBScript compilation error '800a040e'
'loop' without 'do'
/bokn/apr3.asp, line 48
Loop
^
GrummelMedlem sedan juni 2000112 inlägg Så här ska det se ut
If rsFakt("antal") = NULL then
antal = rsFakt("antal")
ElseIf len(rsFakt("antal")) <= 0 then
antal = 0
End If
------------------
"Den sanna kunskapen är erfarenhet" - Albert Ensten
[Redigerat av Grummel den 31 dec 2000]
tapaniMedlem sedan apr. 200093 inlägg Fungerar icke.. *hum*
error '80020009'
Exception occurred.
/bokn/apr3.asp, line 32
Får forfarande fram att den räknar den
första tomma posten men sedan kommer
felmeddelandet ovan när det finns något i en post.
jonneMedlem sedan jan. 20011 154 inlägg testa med denna kod där du kollar om fältet är tomt eller inte:
if rsFakt("antal") = "" or rsFakt("antal") = null then
------------------
//Jonne
emissionMedlem sedan dec. 19996 721 inlägg För att testa om något är NULL ska man använda if isNull(värde). Man ska inte testa detta på samma rad som en annan test
if isnull(värde) or värde="" then
för om värde är null så blir strängtesten felaktig
if isnull(värde) then
else
if värde="" then
.....
tapaniMedlem sedan apr. 200093 inlägg Löste det så här istället..
Vet inte om det är så bra men just nu fungerar det.
SQL = "SELECT COUNT(Datum) AS antal FROM Kund WHERE FaktNr IS NULL AND Datum LIKE '20000401'"
Set rs = objConn.execute(SQL)
Do While Not rs.EOF %>
<tr>
<td width="112" align="center" height="22"><font face="Arial, Helvetica, sans-serif" size="2">20000401</font></td>
<td width="42" align="center" height="22"><font face="Arial, Helvetica, sans-serif" size="2"><%= rs("antal")%></font></td>
</tr>
Har kämpat med den här länge nu *hehe*