Hallo Wolfgang!
Post by Wolfgang ArmbrusterPaul Rohorzka schrieb / wrote... (Sat, 04 Oct 2003 07:32:48 GMT)
Post by Paul Rohorzkadie Syntax ist im Prinzip ok, was wahrscheinlich
Probleme macht, ist der Beistrich, der auf einem
deutschsprachigen System als Dezimaltrennzeichen
verwendet wird.
Wenn
du explizit mit Hilfe der Str()-Funktion (nicht
CStr()!) umwandelst, sollte das Problem gelöst
sein.
Mir fehlt es an der entsprechenden Access-Erfahrung. Könntest du mir die
Sache am Beispiel etwas konkretisieren?
Also, so sollte es aussehen, damit's überhaupt funktioniert:
CurrentDb.Execute "Update Maschinenkosten_Basis " & _
"SET MaschStd = " & Str(Me!Stundensatz) & " " & _
"WHERE Maschine = " & Me!Maschine
Das geht nur, wenn der Datentyp im Steuerelement Maschine eine
Zahl ist. Wenn es ein Text ist, musst du den Wert in Anführungs-
zeichen oder Hochkommata einschließen. Würde also so aussehen:
CurrentDb.Execute "Update Maschinenkosten_Basis " & _
"SET MaschStd = " & Str(Me!Stundensatz) & " " & _
"WHERE Maschine = "" & Me!Maschine & """"
In Ergänzung meines Vorpostings, hier die Variante, die ich als
Rumpf für eine Funktion verwende, die eine Abfrage ausführt:
<code AusDemKopfUndDaherVielleichtMitBugs="True">
Private Sub MachWasMitDenDaten()
On Error Goto Err_
Dim strSQL As String
Dim dbs As DAO.Database
Set dbs = CurrentDb()
strSQL = "UPDATE Maschinenkosten_Basis " & _
"SET MaschStd = " & Str(Me!Stundensatz.Value) & " " & _
"WHERE Maschine = " & Me!Maschine.Value
dbs.Execute strSQL, dbFailOnError
' Als Beispiel für die Verwendung von RecordsAffected:
MsgBox "Es wurden " & dbs.RecordsAffected & " aktualisiert.", _
vbInformation
Exit_:
Set dbs = Nothing
Exit Sub
Err_:
Msgbox Err.Description, vbExclamation, "Fehler #" & Err.Number
Resume Exit_
End Sub
</code>
HTH,
Paul