webForumDet fria alternativet

Funktion i vilken inte jag ser några fel.

ASPur ASP

3 svar · 331 visningar · startad av MickeA.com

Medlem sedan feb. 20034 441 inlägg
Frågan#1

Hej!

Har gjort följande funktion för att ta reda på vilka adresser som har "dubbla" nummer, tex. 38-40:

Function gGN(id)
	Set GetGN1 = oConn.Execute("SELECT Hiss_Gatunummer FROM tbl_hiss WHERE Hiss_ID = '" & id & "'")
	
	If Not GetGN1.EOF Then
		strGN1 = GetGN1("Hiss_Gatunummer")
			Set GetGN2 = oConn.Execute("SELECT Hiss_Gatunummer_Sec FROM tbl_hiss WHERE Hiss_ID = '" & id & "'")
				If Not GetGN2.EOF Then
					strGN2 = GetGN2("Hiss_Gatunummer_Sec")
					strstr = strGN1 & " - " & strGN2
				Else
					strstr = strGN1
				End If
	Else
		strstr = "FelFelFel!"
	End If

	Set GetGN1 = Nothing
	Set GetGN2 = Nothing
	
	gGN = strstr
End Function

I min tabell är gatunummer uppdelat i två kolumner, på dom adresser som har "dubbla" nummer. Detta var jag tvungen att göra för sorteringens skull.
Nu till saken, som den är nu, så blir det ett "-" (bindestreck) även på de adresser som är enkela, alltså tex. "12". Då blir resultatet "12 - ".
Så, något måste vara fel i min funktion, men jag hittar inte vad, antar att jag som vanligt har stirrat mig blind på ovanstående.

Tack!

Medlem sedan aug. 2001676 inlägg
#2

Är Hiss_Gatunummer och Hiss_Gatunummer_Sec av datatypen tal eller text?
Min tanke när jag läste detta var att det kanske ligger något mellanslag i fältet Hiss_Gatunummer_Sec. Vad händer om du lägger in en kontroll på det?

Medlem sedan juni 200032 967 inlägg
#3

Så som din tabell är uppbyggd kan du inte använda EOF för att se om din andra SQL-fråga gav något resultat. Jag förstår inte heller varför du ställer två frågor med samma villkor. Hämta ut båda fälten i den första SQL-frågan istället. Funktionen kan se ut så här:

Function gGN(id)
	Set GetGN1 = oConn.Execute("SELECT Hiss_Gatunummer, Hiss_Gatunummer_Sec FROM tbl_hiss WHERE Hiss_ID = '" & id & "'")
	
	If Not GetGN1.EOF Then
		if "" & GetGN1("Hiss_Gatunummer_Sec") <> "" then
			strstr = GetGN1("Hiss_Gatunummer") & " - " & GetGN1("Hiss_Gatunummer_Sec")
		else
			strstr = GetGN1("Hiss_Gatunummer")
		End If
	End if
	GetGN1.close
	Set GetGN1 = Nothing

	gGN = strstr
End Function
Medlem sedan feb. 20034 441 inlägg
#4

@nders skrev:

Funktionen kan se ut så här:

Tack, funkar utmärkt. :)

138 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
133 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)