så här blev det:
[red]
Function f_checkResultat(intMatchID, intHresultat, intBresultat)
'******************************************************************************
'Denna funktion kollar om det resultat som laggts in
'i formuläret ska läggas in i databasen för första ggn
'eller om resultatet ska ändras, om så är fallet ska även tabellen
'ändras
'******************************************************************************
'## Innehållsförteckning ##
'~1 Kollar om resultaten innehåller några värden
'~2 SQL-sats som hämtar värdena i databasen
'~3 Databaskopplingen, Samt att jag lägger in databasvärdet i variblar
'~4 Kollar om det ligger några resultat i just den matchen, om inte läggs det in annars går jag vidare till ~5
'~5 Kollar om resultaten är identiska, om det inte är det går jag vidare till ~6 och ~7
'~6 Kollar vem som fick poäng i den första rapporten
'~7 Kollar vem som fick poäng i den andra rapporten
'~8 Kollar hur poängen ska omfördelas
'~9 Uppdaterar Poängen i både serien och matchprogram
'******************************************************************************
'## ~1 ##
If Len(intHresultat) <= 0 AND Len(intBresultat) <= 0 Then
f_checkResultat = "Du har inte lagt in några resultat"
Exit Function
End If
'******************************************************************************
'******************************************************************************
'## ~2 ##
strSQL = "SELECT LagA, LagB, Resultat1, Resultat2, Serie "&_
"FROM matchprogram WHERE Matchnr = "&intMatchID
'******************************************************************************
'******************************************************************************
'## ~3 ##
Set ObjConn = Server.CreateObject("ADODB.Connection")
'kommentera bort den som ni inte ska använda
'Access
Objconn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../../data/Serie0102.mdb")
'mySQL
'Objconn.ConnectionString = "driver=MySQL;UID=root;PWD=;Database=medimatch;option=16384"
ObjConn.Open
Set ObjRS = ObjConn.execute(strSQL)
If ObjRS.EOF Then
f_CheckResultat = "matchen finns inte"
Exit function
Else
If Len(ObjRS("Resultat1")) > 0 Then
d_intHresultat = Cint(ObjRS("Resultat1"))
End If
If Len(ObjRS("Resultat2")) > 0 Then
d_intBresultat = Cint(ObjRS("Resultat2"))
End If
strHemmalag = ObjRS("LagA")
strBortalag = ObjRS("LagB")
strSerie = ObjRS("Serie")
End If
'******************************************************************************
'******************************************************************************
'## ~4 ##
If Len(d_intHresultat) <= 0 AND Len(d_intBresultat) <= 0 Then
'Uppdaterar matchprogramet
strUPD1 = "UPDATE matchprogram SET Resultat1 = "&intHresultat&", "&_
"Resultat2 = "&intBresultat&" "&_
"WHERE Matchnr = "&intMatchID
'Kollar vem som vann
If Cint(intHresultat) > Cint(intBresultat) Then
hp = "+3" : hv = "+1" : hf = "+0" : ho = "+0"
bp = "+0" : bv = "+0" : bf = "+1" : bo = "+0"
End If
If Cint(intHresultat) = Cint(intBresultat) Then
hp = "+1" : hv = "+0" : hf = "+0" : ho = "+1"
bp = "+1" : bv = "+0" : bf = "+0" : bo = "+1"
End If
If Cint(intHresultat) < Cint(intBresultat) Then
hp = "+0" : hv = "+0" : hf = "+1" : ho = "+0"
bp = "+3" : bv = "+1" : bf = "+0" : bo = "+0"
End If
'Uppdaterar Serien
'Uppdaterar hemmalagets stat.
strUPD2 = "UPDATE Serie Set Vinst = Vinst " & hv & ", "&_
"Forl = Forl " & hf & ", "&_
"Poang = Poang " & hp &", "&_
"Oav = Oav " & ho &", "&_
"Gjorda = Gjorda + "& intHresultat &", "&_
"Inslapp = Inslapp + "& intBresultat &", "&_
"Spelade = Spelade + 1"&_
" WHERE Lag = '"&strHemmalag&"' "&_
" AND Klass = '"&strSerie&"'"
'Uppdaterar bortalagets stat.
strUPD3 = "UPDATE Serie Set Vinst = Vinst " & bv & ", "&_
"Forl = Forl " & bf & ", "&_
"Poang = Poang " & bp &", "&_
"Oav = Oav " & bo &", "&_
"Gjorda = Gjorda + "& intBresultat &", "&_
"Inslapp = Inslapp + "& intHresultat &", "&_
"Spelade = Spelade + 1"&_
" WHERE Lag = '"&strBortalag&"' "&_
" AND Klass = '"&strSerie&"'"
ObjConn.execute(strUPD1),,128
ObjConn.execute(strUPD2),,128
ObjConn.execute(strUPD3),,128
ObjConn.close
Set ObjConn = Nothing
f_CheckResultat = "Du har nu lagt in ett resultat till match nr "&intMatchID
Exit Function
End If
'******************************************************************************
'******************************************************************************
'## ~5 ##
If d_intHresultat = intHresultat AND d_intBresultat = intBresultat Then
f_checkResultat = "Du har inte ändrat några resultat"
Exit Function
End If
'******************************************************************************
'******************************************************************************
'## ~6 ##
If d_intHresultat > d_intBresultat Then
strFirstWinner = "hemma"
End If
If d_intHresultat = d_intBresultat Then
strFirstWinner = "ingen"
End If
If d_intHresultat < d_intBresultat Then
strFirstWinner = "borta"
End If
'******************************************************************************
'******************************************************************************
'## ~7 ##
If intHresultat > intBresultat Then
strSecondWinner = "hemma"
End If
If intHresultat = intBresultat Then
strSecondWinner = "ingen"
End If
If intHresultat < intBresultat Then
strSecondWinner = "borta"
End If
'******************************************************************************
'******************************************************************************
'## ~8 ##
'## intBolean = 0 :Inga förändringar
'## 1 :hemmalaget(-3), Bortalaget(+3)
'## 2 :hemmalaget(+3), Bortalaget(-3)
'## 3 :hemmalaget(+2), Bortalaget(-4)
'## 4 :hemmalaget(-4), Bortalaget(+2)
'## 5 :hemmalaget(-2), Bortalaget(+1)
'## 6 :hemmalaget(+1), Bortalaget(-2)
If strFirstWinner = "hemma" AND strSecondWinner = "hemma" Then
intBolean = 0
End If
If strFirstWinner = "ingen" AND strSecondWinner = "ingen" Then
intBolean = 0
End If
If strFirstWinner = "borta" AND strSecondWinner = "borta" Then
intBolean = 0
End If
If strFirstWinner = "hemma" AND strSecondWinner = "borta" Then
intBolean = 1
hp = "-3" : hv = "-1" : hf = "+1" : ho = "+0"
bp = "+3" : bv = "+1" : bf = "-1" : bo = "+0"
End If
If strFirstWinner = "borta" AND strSecondWinner = "hemma" Then
intBolean = 2
hp = "+3" : hv = "+1" : hf = "-1" : ho = "+0"
bp = "-3" : bv = "-1" : bf = "+1" : bo = "+0"
End If
If strFirstWinner = "ingen" AND strSecondWinner = "hemma" Then
intBolean = 3
hp = "+2" : hv = "+1" : hf = "+0" : ho = "-1"
bp = "-1" : bv = "+0" : bf = "+1" : bo = "-1"
End If
If strFirstWinner = "ingen" AND strSecondWinner = "borta" Then
intBolean = 4
hp = "-1" : hv = "+0" : hf = "+1" : ho = "-1"
bp = "+2" : bv = "+1" : bf = "+0" : bo = "-1"
End If
If strFirstWinner = "hemma" AND strSecondWinner = "ingen" Then
intBolean = 5
hp = "-2" : hv = "-1" : hf = "+0" : ho = "+1"
bp = "+1" : bv = "+0" : bf = "-1" : bo = "+1"
End If
If strFirstWinner = "borta" AND strSecondWinner = "ingen" Then
intBolean = 6
hp = "+1" : hv = "+0" : hf = "-1" : ho = "+1"
bp = "-2" : bv = "-1" : bf = "+0" : bo = "+1"
End If
'******************************************************************************
'******************************************************************************
'## ~9 ##
'## intBolean = 0 :Inga förändringar
'## 1 :hemmalaget(-3), Bortalaget(+3)
'## 2 :hemmalaget(+3), Bortalaget(-3)
'## 3 :hemmalaget(+2), Bortalaget(-4)
'## 4 :hemmalaget(-4), Bortalaget(+2)
'## 5 :hemmalaget(-2), Bortalaget(+1)
'## 6 :hemmalaget(+1), Bortalaget(-2)
If intBolean > 0 Then
'uppdaterar hemmalagets poäng
strUPD1 = "UPDATE Serie Set Vinst = Vinst " & hv & ", "&_
"Forl = Forl " & hf & ", "&_
"Poang = Poang " & hp &", "&_
"Oav = Oav " & ho &", "&_
"Gjorda = Gjorda - "& d_intHresultat &" + "& intHresultat &", "&_
"Inslapp = Inslapp - "& d_intBresultat &" + "& intBresultat &_
" WHERE Lag = '"&strHemmalag&"' "&_
" AND Klass = '"&strSerie&"'"
'uppdaterar bortalagets poäng
strUPD2 = "UPDATE Serie Set Vinst = Vinst " & bv & ", "&_
"Forl = Forl " & bf & ", "&_
"Poang = Poang " & bp &", "&_
"Oav = Oav " & bo &", "&_
"Gjorda = Gjorda - "& d_intBresultat &" + "& intBresultat &", "&_
"Inslapp = Inslapp - "& d_intHresultat &" + "& intHresultat &_
" WHERE Lag = '"&strBortalag&"' "&_
" AND Klass = '"&strSerie&"'"
Else
'uppdaterar hemmalagets poäng
strUPD1 = "UPDATE Serie SET Gjorda = Gjorda - "& d_intHresultat &" + "& intHresultat &", "&_
"Inslapp = Inslapp - "& d_intBresultat &" + "& intBresultat &_
" WHERE Lag = '"&strHemmalag&"' "&_
" AND Klass = '"&strSerie&"'"
'uppdaterar bortalagets poäng
strUPD2 = "UPDATE Serie SET Gjorda = Gjorda - "& d_intBresultat &" + "& intBresultat &", "&_
"Inslapp = Inslapp - "& d_intHresultat &" + "& intHresultat &_
" WHERE Lag = '"&strBortalag&"' "&_
" AND Klass = '"&strSerie&"'"
End If
'Uppdaterar Matchprogrammet
strUPD3 = "UPDATE matchprogram SET Resultat1 = "&intHresultat&", "&_
"Resultat2 = "&intBresultat&" "&_
"WHERE Matchnr = "&intMatchID
ObjConn.execute strUPD1 ,,128
ObjConn.execute strUPD2 ,,128
ObjConn.execute strUPD3 ,,128
ObjConn.close
Set ObjConn = Nothing
f_CheckResultat = "Resultatet har uppdaterats"
End Function
[/red]
------------------
kolung.....det tål att tänkas på!
[Redigerat av icaaq den 27 nov 2001]