---
title: "lurigt, ett villkor, 2 räknare, det går inte ihop.."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/11312-lurigt-ett-villkor-2-räknare-det-går-inte-ihop"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "tlee"
published: "2001-08-27T09:51:00.000Z"
updated: "2001-08-27T12:43:00.000Z"
replies: 3
views: 241
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/11312-lurigt-ett-villkor-2-räknare-det-går-inte-ihop"
---

# lurigt, ett villkor, 2 räknare, det går inte ihop..

## #1 — tlee, 2001-08-27T09:51Z

Tjena..

problem med ett villkor som inte uppfylls trots att det skall göra det :)

Den första delen av koden är inte så intressant utan det är när vi börjar
komma in på följande rad det blir intressant: 

If ( strVisible \> "" ) Then

Lite kort vad jag försöker ådstakomma.

Jag loopar igenom en produkttabell, jag kollar ifall produkten är markerad
som aktiv, jag har 2 räknare som räknar dels antalet produkter och den
andra räknar bara ifall produkten är markerad som "icke aktiv" dvs ifall col_Visible = "".

Sen gör jag en jämförelse mellan de båda räknarna, har dom då samma värde
så uppdateras alla produkter med samma värden, produkterna ärver priser från produktgruppens inställningar.

Nedan följer koden.

```
<!--#INCLUDE FILE="inc/dbConn.inc"-->

<%

Dim struser, strGroup, strVisible, strPrice_1, strPrice_2, strPrice_3, strPrice_4, strPrice_5, Connect, DB_QUERY, intCounter_A, intCounter__B

intCounter_A = cInt(0)
intCounter_B = cInt(0)
strUser = Request.Kookies("User")("Name")
strGroup = Trim(Request.QueryString("Group"))

strVisible = Trim(Request.Form("txtActive"))

If ( strVisible = "on" ) Then _
	strVisible = "checked"

strPrice_1 = Request.Form("txtPrice1")

If ( strPrice_1 = "" & "" ) Then _
	strPrice_1 = 0

strPrice_2 = Request.Form("txtPrice2")

If ( strPrice_2 = "" & "" ) Then _
	strPrice_2 = 0

strPrice_3 = Request.Form("txtPrice3")

If ( strPrice_3 = "" & "" ) Then _
	strPrice_3 = 0

strPrice_4 = Request.Form("txtPrice4")

If ( strPrice_4 = "" & "" ) Then _
	strPrice_4 = 0

strPrice_5 = Request.Form("txtPrice5")

If ( strPrice_5 = "" & "" ) Then _
	strPrice_5 = 0

If ( Trim(strUser) > "" & "" ) Then

	
Set DB_QUERY= Connect.Execute("UPDATE [tbl_"& strUser &"_Groups] SET [col_Visible] = '"& strVisible &"', [col_Price_1] = "& strPrice_1 &", [col_Price_2] = "& strPrice_2 &", [col_Price_3] = "& strPrice_3 &", [col_Price_4] = "& strPrice_4 &", [col_Price_5] = "& strPrice_5 &" WHERE [col_Name] = '"& strGroup &"'")

If ( strVisible > "" ) Then

	'-- Kolla igenom produkt tabellen ifall det finns något i denna gruppen som är aktivt.
	
	Set DB_QUERY_CHECK = Connect.Execute("SELECT col_Visible, col_ArticleNr FROM tbl_" & strUser & "_Products WHERE col_Group='"& strGroup &"';")

	While Not DB_QUERY_CHECK.EOF
	
		intCounter_A = intCounter_A + 1 '-- Öka första räknaren
		
		strLen = Len(DB_QUERY_CHECK("col_Visible"))
		Response.Write(strLen) '-- Här skrivs inte ut något så jag antar att den är NULL
		
		Response.Write("Värdet i Visible cellen: " & DB_QUERY_CHECK("col_Visible") & "<br>") '-- Denna visar NULL
		
		If Trim(DB_QUERY_CHECK("col_Visible")) = "" & "" Then '-- Räknaren ökas inte trots att villkoret uppfylls, den är ju NULL!!!
			intCounter_B = intCounter_B + 1
		End If
		
		DB_QUERY_CHECK.MoveNext
	
	Wend
	
	'-- Är de båda räknarna lika så updatera alla produkter i denna produktgruppen.
	
	Response.Write("Counter 1: " & intCounter_A & "<br>") '-- Denna skriver ut 7
	Response.Write("Counter 2: " & intCounter_B & "<br>") '-- Denna skriver ut 0
	
	If ( intCounter_A = intCounter_B ) Then
	
		Set DB_QUERY_UPDATE = Connect.Execute("UPDATE tbl_" & strUser & "_Products SET col_Price_1="& strPrice_1&", col_Price_2=" & strPrice_2 &", col_Price_3=" & strPrice_3 & ", col_Price_4=" & strPrice_4 &", col_Price_5=" & strPrice_5 & ", col_Visible='checked' WHERE col_Group ='"& strGroup &"';") 
	
	End If

End If

'Response.Redirect("list_groups.asp")

Else
	Response.Write("Något är fel här du..")

End If

%>
```

Har vi någon guru som kan se något direkt fel här?
cellen col_Visible är av typ char(7) och skall lagra antingen NULL eller "checked"

chop chop...

/t

\[Redigerat av tlee den 27 aug 2001\]

Permalänk: https://www.webforum.nu/p/11312

## #2 — LarsG, 2001-08-27T10:42Z

Om du vill kontrollera om något är null så

```
If isNull(DB_QUERY_CHECK("col_Visible")) Then
```

Permalänk: https://www.webforum.nu/p/284852

## #3 — tlee, 2001-08-27T11:13Z

LarsG! du är en klippa! 

```
If IsNull(DB_QUERY_CHECK("col_Visible")) OR Trim(DB_QUERY_CHECK("col_Visible")) = "" Then
			intCounter_B = intCounter_B + 1
		End If
```

Nu fungerar det kanon!

/t

Permalänk: https://www.webforum.nu/p/284853

## #4 — Janspeed, 2001-08-27T12:43Z

We call him the "G"-man.

...Nä, jag bara hittar på. :e

/JANspeed

Permalänk: https://www.webforum.nu/p/284854

---

Tråden på webben: https://www.webforum.nu/amne/asp/11312-lurigt-ett-villkor-2-räknare-det-går-inte-ihop
