Den här koden är skriven av LarsB, den är till för att ändra ett antal poster när en posts ordning ändras, så att alla poster blir numeriskt rätt, dvs 1,2,3,4,5,6,7,8,9 osv.
Får inte detta att funka:
SSSQL="Select MarkOrder From Markmat Where MarkID="& Request.QueryString("save")
Set mark=Conn.Execute(SSSQL)
If objUpload.Form("MarkOrder") <> mark("MarkOrder") Then
If objUpload.Form("MarkOrder") > mark("MarkOrder") Then
STSQL = "update Markmat set MarkOrder = MarkOrder - 1 where MarkBel="& mark("MarkBel") &" AND MarkOrder between " & mark("markorder") & " + 1 and " & objUpload.Form("MarkOrder")
else
STSQL = "update Markmat set MarkOrder = MarkOrder + 1 where MarkBel="& mark("MarkBel") &" AND MarkOrder between " & objUpload.Form("MarkOrder") & " and " & mark("markorder") & " - 1 "
End If
conn.execute STSQL
SSSQL = "update markmat set MarkOrder = " & objUpload.Form("MarkOrder") & " where MarkID="& Request.QueryString("save")
conn.execute SSSQL
end if
mark.Close
Set mark=Nothing
Om man ändrar en siffra från 2 till 8 så funkar det men ändrar man från 8 till 2 så blir ordningen 1,2,2,3,4,5,6,7,9
SSSQL="Select MarkOrder From Markmat Where MarkID="& Request.QueryString("save")
Set mark=Conn.Execute(SSSQL)
If CInt(objUpload.Form("MarkOrder")) <> mark("MarkOrder") Then
If CInt(objUpload.Form("MarkOrder")) > mark("MarkOrder") Then
STSQL = "update Markmat set MarkOrder = MarkOrder - 1 where MarkBel="& mark("MarkBel") &" AND MarkOrder between " & mark("markorder") & " + 1 and " & CInt(objUpload.Form("MarkOrder"))
else
STSQL = "update Markmat set MarkOrder = MarkOrder + 1 where MarkBel="& mark("MarkBel") &" AND MarkOrder between " & CInt(objUpload.Form("MarkOrder")) & " and " & mark("markorder") & " - 1 "
End If
conn.execute STSQL
SSSQL = "update markmat set MarkOrder = " & CInt(objUpload.Form("MarkOrder")) & " where MarkID="& Request.QueryString("save")
conn.execute SSSQL
end if
mark.Close
Set mark=Nothing
SSSQL="Select MarkOrder From Markmat Where MarkID="& Request.QueryString("save")
Set mark=Conn.Execute(SSSQL)
If CInt(objUpload.Form("MarkOrder")) <> CInt(mark("MarkOrder")) Then
If CInt(objUpload.Form("MarkOrder")) > CInt(mark("MarkOrder")) Then
STSQL = "update Markmat set MarkOrder = MarkOrder - 1 where MarkBel="& CInt(mark("MarkBel")) &" AND MarkOrder between " & CInt(mark("markorder")) & " + 1 and " & CInt(objUpload.Form("MarkOrder"))
else
STSQL = "update Markmat set MarkOrder = MarkOrder + 1 where MarkBel="& CInt(mark("MarkBel")) &" AND MarkOrder between " & CInt(objUpload.Form("MarkOrder")) & " and " & CInt(mark("markorder")) & " - 1 "
End If
conn.execute STSQL
SSSQL = "update markmat set MarkOrder = " & CInt(objUpload.Form("MarkOrder")) & " where MarkID="& Request.QueryString("save")
conn.execute SSSQL
end if
mark.Close
Set mark=Nothing
Konstigt, på en annan sida har jag det här, och det funkar:
SSSQL="Select MarkPathOrder From MarkPath Where MarkPathID="& Request.QueryString("saveMapp")
Set mark=Conn.Execute(SSSQL)
If CInt(Request.Form("Order")) <> CInt(mark("MarkPathOrder")) Then
If CInt(Request.Form("Order")) > CInt(mark("MarkPathOrder")) Then
STSQL = "update MarkPath set MarkPathOrder = MarkPathOrder - 1 where MarkPathOrder between " & CInt(mark("MarkPathOrder")) & " + 1 and " & CInt(Request.Form("Order"))
else
STSQL = "update MarkPath set MarkPathOrder = MarkPathOrder + 1 where MarkPathOrder between " & CInt(Request.Form("Order")) & " and " & CInt(mark("MarkPathOrder")) & " - 1 "
End If
Conn.Execute STSQL
end if
SQL1="Update MarkPath Set MarkPathName='"& replace (Request.Form("App"), "'", "''") &"', MarkPathOrder='"& replace (Request.Form("Order"), "'", "''") &"' Where MarkPathID="& Request.QueryString("saveMapp")
Conn.Execute(SQL1)
mark.Close
Set mark=Nothing