Hallo, jag undrar hur jag ska kunna få följande kodsnutt att fungera. Jag får i daxläget upp: Inkompatibla typer: 'UBound'. Ytterligare ett problem som uppstår är att PersonalID 2 ibland är tom och då ska väl kommatecknet inte vara med. intPersonalID innehåller en sträng (som gissningsvis ser ut såhär: "12,5") men UBound förväntar sig en array. Sedan ser det ut som en FOR-loop utan ordet FOR. Gissar att du vill göra såhär istället: Jepp, det var en liten bit på vägen Du delar aldrig din sträng med personalID. Kan du inte förklar vad problemet är?Loopa två gånger
<code>
intPersonalID = Request.Form("PersonalID1") & "," & Request.Form("PersonalID2")
j = 0 to UBound(intPersonalID)
SQL = "UPDATE tblPersonal SET "
Osv, osv
Next
</code>
Tackar på förhand
UffeSv: Loopa två gånger
<code>
intPersonalID = Request.Form("PersonalID1") & "," & Request.Form("PersonalID2")
PersonalIDArr = Split(intPersonalID)
FOR j = 0 to UBound(PersonalIDArr)
'Kontroll ifall den är tom
If LEN(PersonalIDArr(j)) > 0 Then
'gör något
End If
Next
</code>
/JohanSv:Loopa två gånger
<code>
PersonalIDArr = Split(intPersonalID)
FOR j = 0 to UBound(PersonalIDArr)
'Kontroll ifall den är tom
If LEN(PersonalIDArr(j)) > 0 Then
'Response.Write PersonalIDArr(j)
Set RS = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM tblResultat Where PersonalID=" & PersonalIDArr(j) & " And ButikID=" & ButikID & " and Datum= " & "#" & FormatDateTime(Date) & "#"
Set RS = Conn.Execute(SQL)
En massa kod....
End If
Next
</code>
I detta fallet blir då "Where PersonalID=" 1,20
Hur delar jag upp det?Sv: Loopa två gånger
PersonalIDArr = Split(intPersonalID)
borde istället vara
<code>
PersonalIDArr = Split(intPersonalID,",")
</code>
för att specificera att det är kommatecken som skiljer värdena åt. Som standard är det mellanslag den kollar efter.
Sv: Loopa två gånger
Har du flera poster du vill uppdaterat t.ex. en lista av värden du vill förändra?