【问题标题】:Save blank record保存空白记录
【发布时间】:2012-10-03 22:06:48
【问题描述】:

我正在尝试在保存新记录后获取它的 ID。 因为我需要它来保存未绑定到记录的控件。

所以我就这样做了。

Private Sub cmdSave_Click()

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

SalesCallID 是一个绑定在记录 id 上的文本框。 所以如果是null,我会保存并更新它。
但是如果这个人只改变了未绑定的控件,它就不会保存。那我就拿不到身份证了。

我试图像这样将表单设置为脏Me.Dirty = true 但它不起作用。

我可以在open form 事件的评论字段中插入一个空格...但是有没有更优雅的方法来解决这个问题?

谢谢

【问题讨论】:

  • 在大多数情况下,更新日期是很有用的,您可以包含一个日期并使用保存按钮通过代码更新它。你必须至少完成一个表字段才能获得一条新记录,除非你想通过sql或记录集添加一条记录,这可能会导致更多问题。
  • 你说得对,我已经明白了。 createdBycreatedDate 为什么它没有保存。它应该保存,因为它们被绑定了
  • 我想你已经为它们设置了一个默认值,而不是通过代码完成它们。 Me.txtCreateBy = "Marc"
  • 哦,是的,对于默认值,我调用了 GetUser() 方法。所以我应该在代码中做呢?
  • 默认值很好,但是您正在寻找表单上的小提琴,用户可以在不完成任何条目的情况下逃脱,因此对于小提琴,完成代码应该可以工作。

标签: ms-access ms-access-2010


【解决方案1】:

在大多数情况下,更新日期很有用,您可以包含一个日期,然后使用保存按钮通过代码更新它。你必须至少完成一个表字段才能获得一条新记录,除非你想通过sql或记录集添加一条记录,这可能会导致更多问题。如果您正在寻找小提琴,默认值将不起作用,您需要类似:

Me.txtCreateBy = "Marc"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-13
    • 1970-01-01
    • 2019-06-08
    • 2020-07-25
    • 1970-01-01
    • 1970-01-01
    • 2012-11-19
    • 2016-09-06
    相关资源
    最近更新 更多