2012-10-03 121 views
1

我试图在保存后获取新记录的ID。 原因我需要它来保存未绑定到记录的控件。保存空白记录

所以我这样做了。

Private Sub cmdSave_Click() 

If IsNull(SalesCallID) Then 
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 
    SalesCallID.Requery 
    MsgBox SalesCallID 
End If 

SalesCallID是绑定在记录ID上的文本框。 因此,如果它是null,我保存并更新它。
但是,如果此人只更改了未绑定的控件,它将不会保存。那么我将无法获得该ID。

我试图设置脏这样的形式Me.Dirty = true 但它不工作。

我可以在open form事件插入注释字段中的空间......但是有没有更好的方法来解决这个问题?

谢谢

+0

在大多数情况下,它是有用的更新日期,你可以包括一个,并通过使用代码更新保存按钮。除非要通过sql或记录集添加记录,否则必须至少完成一个表字段以获取新记录,这可能会导致更多问题。 – Fionnuala

+0

你说得对,我已经明白了。 'createdBy'和'createdDate'为什么不保存。它应该保存它们绑定的原因 – Marc

+0

我会想象你已经为它们设置了一个默认值,而不是通过代码来完成它们。 'Me.txtCreateBy =“Marc”' – Fionnuala

回答

1

在大多数情况下,它是有一个更新的日期是有用的,你可以有一个,并通过与保存按钮的代码更新。除非要通过sql或记录集添加记录,否则必须至少完成一个表字段以获取新记录,这可能会导致更多问题。如果你正在寻找一个小提琴,默认值是行不通的,你需要的东西,如:

Me.txtCreateBy = "Marc"