Может ли кто-нибудь помочь мне с нижеследующим кодом для редактирования записей, пожалуйста? Я пытаюсь изменить, но есть ошибка синтаксиса, и я не могу исправить это. См. Ошибку ниже. Ошибка времени выполнения '3075' Ошибка синтаксиса (отсутствует оператор) в запросе expresion 'TypeID ='.Microsoft Access/Update Record
Благодаря
Private Sub oshaadd_Click()
'On Error Resume Next
If (IsNull(Me.oshaID) Or (Me.oshaID = "") And IsNull(Me.oshatype) Or (Me.oshatype = "")) Then
MsgBox "please fill required fields!", vbInformation, "Information"
Exit Sub
End If
If Me.oshaID.Tag & "" = "" Then
CurrentDb.Execute "INSERT INTO osha(TypeID, OSHA)" & _
"VALUES ('" & Me.oshaID & "', '" & Me.oshatype & "')"
If MsgBox("Added", vbOKOnly) Then
Me.osha_subform.Form.Requery
End If
Else
CurrentDb.Execute "UPDATE osha " & _
"SET TypeID =" & Me.oshaID & _
", OSHA = '" & Me.oshatype & "'" & _
"WHERE TypeID =" & Me.oshatype.Tag
MsgBox "Updated", vbInformation, "Information"
Me.oshaadd.Caption = "Add"
Me.oshaedit.Enabled = True
End If
Me.osha_subform.Form.Requery
End Sub
Private Sub oshaedit_Click()
On Error Resume Next
If Not (Me.osha_subform.Form.Recordset.EOF And Me.osha_subform.Form.Recordset.BOF) Then
With Me.osha_subform.Form.Recordset
Me.oshaID = .Fields("TypeID")
Me.oshatype = .Fields("OSHA")
Me.oshaID.Tag = .Fields("TypeID")
Me.oshaadd.Caption = "Update"
Me.oshaedit.Enabled = False
End With
End If
End Sub
Я думаю, вы упускаете '' 'с. –
Поместите SQL-запрос сначала в строку и проверьте строку, например 'strSQL =" UPDATE osha "& ...'. Если 'TypeID' является первичным ключом, то перед обновлением ключа должен быть текущий ключ. Me.oshatype.Tag'. –
Done :) спасибо большое :) –