Я боролся с тем, чтобы этот код работал в течение нескольких дней. Если бы вы могли предложить какие-либо решения, я был бы очень признателен.Обновление таблицы с VBA
Private Sub Command0_Click()
If IsNull(NewSupBox.Value) Or IsNull(NewNumberBox.Value) Then
MsgBox ("All fields must be filled")
GoTo ErrorExit
End If
If Not IsNull(DLookup("SupplierNumber", "SupGenInfo ", "SupGenInfo.SupplierNumber =" & NewSupBox)) = Then
MsgBox ("This supplier number already exists. You can edit the current record on the Edit supplier page.")
GoTo ErrorExit
End If
Dim db As Database
Dim rec As Recordset
Set db = CurrentDb
Set rec = db.OpenRecordset("select * from SupGenInfo")
rec.AddNew
rec("SupplierNumber") = Me.NewSupBox.Value
rec("SupplierName") = Me.NewNameBox.Value
rec.Update
Set rec = Nothing
Set db = Nothing
MsgBox "Records added successfully."
ErrorExit:
End Sub
Редактировать: Забыл, что у меня нет сообщения об ошибке. Команда просто не добавит новую запись в мою таблицу.
Edit2: Приведенный выше код выведет сообщение msg «Записи успешно», когда я удалю следующий блок кода.
Dim db As Database
Dim rec As Recordset
Set db = CurrentDb
Set rec = db.OpenRecordset("SupGenInfo")
rec.AddNew
rec("SupplierNumber") = Me.NewSupBox
rec("SupplierName") = Me.NewNameBox
rec.Update
Set rec = Nothing
Set db = Nothing
Именно этот код включен, что мой клик команды становится неактуальным.
Что в этом плохого? – JNevill
Когда я нажимаю команду, ничего не происходит. Моя таблица оставлена без изменений и сообщений об ошибках нет. У меня есть аналогичный код для этого в моей базе данных в другой форме, которая отлично работает. –
Вы отметили его как VBA? Какое приложение использует этот код? Также откуда взялся 'CurrentDb'? Вы пытаетесь использовать/использовать ** ADODB ** или это что-то еще? Просьба уточнить ваш вопрос и добавить соответствующие теги. – L42