2013-05-18 5 views
0

В моей форме MS Access я хочу создать отдельную кнопку, которая добавит новую запись в таблицу. Для того, чтобы сделать это, я добавил кнопку, и приложенный к этой кнопке событие:Добавить новую запись в таблицу, нажав кнопку в Microsoft Access

Private Sub btnAddRec_Click() 
    Refresh 
    With CodeContextObject 
    On Error Resume Next 
    DoCmd.GoToRecord , , acNewRec 
    If Err.Number <> 0 Then 
    btnAddRec.Enabled = False 
    End If 
    End With 
End Sub 

Все в порядке, когда вы просто открыть окно и нажмите на btnAddRec кнопку, проблема в том, когда ты первый всех выполнять навигацию через существующие записи и только после этого нажимать на эту кнопку. Я получил ошибку времени выполнения: 2105: «Вы не можете перейти к указанной записи. Вы можете быть в конце набора записей ».

Как решить проблему, мне нужно иметь возможность добавлять новую запись при щелчке по определенной кнопке, независимо от того, я ходил или не шел через записи раньше.

Спасибо.

+0

Что такое CodeContextObject? –

ответ

1

Я создал простую форму с полевым вызовом Description (и AutoNumber) и создал кнопку с кодом, следующим за событием click. Я заполнил его несколькими записями и прошел через них, а затем нажал кнопку addNewRec. Форма переходила к новой записи без проблем. Я также смог нажать кнопку addNewRec сразу после успешного открытия формы.

Private Sub btnAddRec_Click() 
On Error GoTo Err1 
    DoCmd.GoToRecord , , acNewRec 
    Exit Sub 
Err1: 
    Description.SetFocus 
    btnAddRec.Enabled = False 
    MsgBox (Err.Description) 

End Sub 

Отличие от кода, включенным были удаления обновления и с утверждением, передавая ошибку, установив фокус перед отключением кнопки и показывая пользователю описание ошибки. Я не знаю, похожа ли ваша форма, но это должно сработать для вас, если это так, и я правильно понял вашу проблему.

+0

Я пробовал ваш код и узнал, что пытаюсь открыть форму, идти вперед для некоторых записей и после этого нажать кнопку «Добавить», я получил ошибку. –

+1

Это очень просто, и этот код отлично подходит для меня. Если вы показываете весь код в своей форме, это должно сработать. Возможно, вам стоит начать все сначала. Восстановите форму и на этот раз, когда вы добавляете кнопку addNewRec, из Мастера кнопок команд выберите «Запись операций» и «Добавить новую запись». –

Смежные вопросы