Vad är felet med följande? Nr 1 så bör denna rad se ut så här Är curNew ett decimaltal? I sådana fall måste du byta ut , mot . (om du har , som decimaltecken, vilket du troligtvis har). Tack för hjälpen!! Ja detta djä... (,) kommatecken. Vill tipsa om command objektet vilket löser dessa problem:Syntaxfel i Update-uttryck
Private Sub UpdatePrice(lngID As Long, curNew As Currency)
Dim sSql As String
On Error GoTo ErrH
sSql = "UPDATE Pris SET AkPrice = " & curNew & " Where Akeri > 0 AND CatID =" & lngID
goConn.Execute sSql
Exit Sub
ErrH:
MsgBox "UpdatePrice " & Err.Description
Exit Sub
End Sub
Koden skall uppdatera alla åkeriers priser under en angiven kategori
lngID är kategorien
curNew det nya priset.
MEN - Den genererar ett felmeddelande /GöranSv: Syntaxfel i Update-uttryck
<code>
Private Sub UpdatePrice(ByVal lngID As Long,ByVal curNew As Currency)
</code>Sv: Syntaxfel i Update-uttryck
/JohanSv:Syntaxfel i Update-uttryck
Har precis löst problemet.
Naturligtvis var det kommatecknet som ställde till problemet.
/GöranSv: Syntaxfel i Update-uttryck
För en gång skull så håller jag med "jänkarna".
Decimalavskiljare skall skrivas med (.) Punkt.
Det blev bra i dubbel bemärkelse ;-) .
På enkelska heter det "period" mycket täckande beskrivning.
La in en pedagogisk knorr som gamal lärere jag är.
Ha det
SvenPonSv: Syntaxfel i Update-uttryck
Private Sub UpdatePrice(lngID As Long, curNew As Currency)
Dim cmd As ADODB.Command
On Error GoTo ErrH
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = goConn
cmd.CommandText = "UPDATE Pris SET AkPrice = ?" & vbCrLf & _
"WHERE Akeri > 0 AND CatID = ?"
cmd.Execute , Array(curNew, lngID)
Exit Sub
ErrH:
MsgBox "UpdatePrice " & Err.Description
Exit Sub
End Sub
Eller:
Public Sub UpdatePrice(lngID As Long, curNew As Currency)
Dim cmd As ADODB.Command
On Error GoTo ErrH
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = goConn
cmd.CommandText = "UPDATE Pris SET AkPrice = ?" & vbCrLf & _
"WHERE Akeri > 0 AND CatID = ?"
cmd.Parameters.Append cmd.CreateParameter(, adCurrency, adParamInput, , curNew)
cmd.Parameters.Append cmd.CreateParameter(, adInteger, adParamInput, , lngID)
cmd.Execute
Exit Sub
ErrH:
MsgBox "UpdatePrice " & Err.Description
Exit Sub
End Sub