【发布时间】:2018-07-19 13:30:07
【问题描述】:
如何停止访问 2016 以停止擦除以前保存的记录中的数据?
非常感谢任何改进/建议!
(这是我有限的知识所能做的最好的事情)
有以下字段:Text7、ID、UPK、CheckTime。 要保存回表的数据只是每个扫描项目的检查时间字段。
表:
-ID 自动编号 | -UPK 编号 | -CheckTime 日期/时间 |-Text7(是唯一未绑定的控件)
我需要能够做到这一点:
- 扫描 Text7 上的值
- 更新后在表中搜索该值(已存在),请参阅下面的 Text7_AfterUpdate 事件
- Text7_AfterUpdate 事件会将数据填充到表单中
- 自动计算Now()并添加到CheckTime字段(表中该字段为空)
- 保存记录
- 清除所有文本框
- 将焦点重新设置在 Text7 上
- 移动到最后一个空记录并准备好接收下一次扫描
**编辑谢谢@Jiggles32 **
注意:废弃 VBA 代码对于我的知识水平来说太麻烦了,尝试了 @Minty 的建议并进行了查询
【问题讨论】:
-
我真的很困惑你的
SaveAllRecords函数应该做什么。发布的代码基本上什么都不做。If Me.Dirty [no expression] Then。该代码似乎所做的只是将一个名为Checkin_Time的变量设置为等于""(不管前面的语句如何)。你能澄清一下你试图用这个做什么吗?更具体地说,您提到您希望项目编号 5.“保存记录”,什么记录以及到哪里?你的表结构是什么样的? -
你的代码真的触发了吗? Text 7 是绑定的还是未绑定的?是文字还是数字?如果它的文本你应该在 rs.findfirst 中得到类型不匹配。您是否添加了一些调试以查看您的代码实际在做什么? @Jiggles IF Me.dirty 是布尔值,所以你不需要 = true 位,因为它是隐含的。
-
@Jiggles32 我已经把代码澄清了一点,谢谢
-
@Minty 我在顶部添加了一些注释,Text7 未绑定。是的,除了提到的覆盖先前记录的日期的原始问题之外,代码启动时没有错误。
-
我想我会简单地对从未绑定表单扫描的 ID 运行更新查询,并且基于它没有检查日期。如果 ID 不存在,则会弹出警告以检查扫描。
标签: ms-access vba ms-access-2016