webForumDet fria alternativet

Kört fast igen!

7 svar · 177 visningar · startad av tapani

tapaniMedlem sedan apr. 200093 inlägg
#1

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
#2

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
#3

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
#4

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
#5

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
#6

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
#7

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
#8

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*

121 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
119 ms — hämta tråd, inlägg och bilagor (db)