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