hmm... till mitt lilla eller stor probelm Jag tror felet ligger i att du din RecSet("Matcher") är null eller något liknande.. För det brukar alltid stöka till det när det gäller Recordset.. Det där med att det är noll tror jag kanska mycket på eftersom det har funkat förut. jag ska testa era förslag och se om det löser sig. om jag gör som du skrev så får jag detta fel meddelande:konstigt problem
vet inte riktigt hur jag ska beskriva det men jag försöker.
jag vill uppdatera en tabell där det ska ske olika uppdateringar beroende på ifall ett tal är större eller lika med eller mindre än det andra.
så här ser det ut
<code>
Tal1 = 0
Tal2 = 0
Tal1 = cint(Request.Form("Hemmamal"))
Tal2 = cint(Request.Form("Bortamal"))
If Tal1 = Tal2 Then
RecSet("Matcher") = RecSet("Matcher") + 1
RecSet("Vunna") = RecSet("Vunna") + 0
RecSet("Oavgjorda") = RecSet("Oavgjorda") + 1
RecSet("Forlorade") = RecSet("Forlorade") + 0
RecSet("Poang") = RecSet("Poang") + 1
ElseIf Tal1 < Tal2 Then
RecSet("Matcher") = RecSet("Matcher") + 1
RecSet("Vunna") = RecSet("Vunna") + 0
RecSet("Oavgjorda") = RecSet("Oavgjorda") + 0
RecSet("Forlorade") = RecSet("Forlorade") + 1
RecSet("Poang") = RecSet("Poang") + 0
Else
RecSet("Matcher") = RecSet("Matcher") + 1
RecSet("Vunna") = RecSet("Vunna") + 1
RecSet("Oavgjorda") = RecSet("Oavgjorda") + 0
RecSet("Forlorade") = RecSet("Forlorade") + 0
RecSet("Poang") = RecSet("Poang") + 3
End If
</code>
detta funkar prima när tal1 är mindre eller lika med tal2. eller det att tal1 är större än tio och tal2 är mindre än 10.
men ifall tal1 är tex 6 och tal2 är tex 4 så får jag felmeddlandet:
Feltyp:
(0x80020009)
Undantag inträffade.
/admin/redigera/tabmat_kontroll.asp, line 73
rad 73 är raden efter "Else"
finns det nån där ute som förstår vad jag har för problem
jag skulle vara tacksam för all hjälp jag kan få.
Tack på för hand
/JohanSv: konstigt problem
Jag brukar använda en funktion som ser ut på detta sett till detta problem:
Public Function ConvertNulls(ByVal inValue, Optional ByVal inDef = "")
Dim vTemp
vTemp = Trim(inValue)
If IsNull(vTemp) Then
ConvertNulls = inDef
ElseIf IsEmpty(vTemp) Then
ConvertNulls = inDef
ElseIf IsMissing(vTemp) Then
ConvertNulls = inDef
ElseIf vTemp = "" Then
ConvertNulls = inDef
Else
ConvertNulls = inValue
End If
End Function
Den konverterar allt som har med null att göra till det du säger att det ska vara, så i ditt fall så gör du på följande sätt:
Tal1 = 0
Tal2 = 0
Tal1 = ConvertNulls(cint(Request.Form("Hemmamal")), 0)
Tal2 = ConvertNulls(cint(Request.Form("Bortamal")), 0)
If Tal1 = Tal2 Then
RecSet("Matcher") = ConvertNulls(RecSet("Matcher"), 0) + 1
RecSet("Vunna") = ConvertNulls(RecSet("Vunna"), 0) + 0
RecSet("Oavgjorda") = ConvertNulls(RecSet("Oavgjorda"), 0) + 1
RecSet("Forlorade") = ConvertNulls(RecSet("Forlorade"), 0) + 0
RecSet("Poang") = ConvertNulls(RecSet("Poang"), 0) + 1
ElseIf Tal1 < Tal2 Then
RecSet("Matcher") = ConvertNulls(RecSet("Matcher"), 0) + 1
RecSet("Vunna") = ConvertNulls(RecSet("Vunna"), 0) + 0
RecSet("Oavgjorda") = ConvertNulls(RecSet("Oavgjorda"), 0) + 0
RecSet("Forlorade") = ConvertNulls(RecSet("Forlorade"), 0) + 1
RecSet("Poang") = ConvertNulls(RecSet("Poang"), 0) + 0
Else
RecSet("Matcher") = ConvertNulls(RecSet("Matcher"), 0) + 1
RecSet("Vunna") = ConvertNulls(RecSet("Vunna"), 0) + 1
RecSet("Oavgjorda") = ConvertNulls(RecSet("Oavgjorda"), 0) + 0
RecSet("Forlorade") = ConvertNulls(RecSet("Forlorade"), 0) + 0
RecSet("Poang") = ConvertNulls(RecSet("Poang"), 0) + 3
End If
Kan ju desvärre inte säga till 100% att det är det som spökar till det, men chansen är stor.. För jag har stött på liknande problem ett flertal gånger! :D
Hoppas det funkar!
MVH
//JonasSv: konstigt problem
Tack för att ni ville ta er tid
JohanSv: konstigt problem
Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A03F2)
Identifierare förväntas.
/admin/redigera/tabmat_kontroll.asp, line 20, column 44
Public Function ConvertNulls(ByVal inValue, Optional ByVal inDef = "")
-------------------------------------------^
vad har jag nu gjort för fel