2015-11-04 108 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 then 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