2015-11-04 2 views
0

У меня есть приложение MS Access 2010. В форме можно вводить новые записи. Поэтому я иду на новый рекорд по форме нагрузки:acCmdSaveRecord не сохраняет запись

Private Sub Form_Load()  
    DoCmd.GoToRecord Record:=acNewRec 
End Sub 

После информации вводится путем нажать кнопку сохранения, запись должна быть сохранена, и форма должна перейти к новой записи.

Private Sub btnSave_Click() 
    DoCmd.RunCommand acCmdSaveRecord 
    DoCmd.GoToRecord , , acNewRec 
End Sub 

Код запускается, однако новая запись не создается. Элементы управления вводом связаны с полями таблицы.

+0

Ваша форма несвязана? глупый вопрос на самом деле, но я должен был спросить – LiamH

+0

Я попробовал его связанный и несвязанный, не решает проблему. – blckbird

+0

Вы уверены, что ваша форма грязная? используйте 'if dirty then', чтобы сохранить что-то, что нужно сохранить. – LiamH

ответ

0

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

option explicit 
private sub btnSave_Click() 
on Error goto ErrTrap 
if me.dirty= true then 
    DoCmd.RunCommand acCmdSaveRecord 
    DoCmd.GoToRecord , , acNewRec 
end if 

ErrTrap: 
    MsgBox Err.Number & ": " & Err.Description 
end sub 

есть работа вокруг, чтобы избежать docmd.runcommand; он сохранит запись ... но я никогда не использовал ее:

if me.dirty=true then 
    me.dirty=false 
end if 
Смежные вопросы