vba - MS Access 表单 VBA
问题描述
我有一个单一表单,当我的表单中的 2 个字段与表中的内容匹配而其他字段不匹配时,我试图在其中获取一个消息框来提示用户。
这是我在点击事件按钮中的代码。
If Not IsNull(Me.L_dt) Then
If Me.Ref = DLookup("[Ref]", "tbl", "[Ref]='" & Forms!MyForm!Ref & "'") And _
Me.Class = Nz(DLookup("[ClassTy]", "tbl", "[ClassTy]<>'" & Forms!MyForm!ClassTy & "'"), 0) And _
Me.L_dt = DLookup("L_dt", "tbl", "L_dt= #" & Format(Forms!MyForm![L_dt], "yyyy\/mm\/dd") & "#") Then
If MsgBox("This record has an existing Learn Dt for this Ref", vbOKCancel) = vbCancel Then
Cancel = True
Me.Undo
Exit Sub
End If
End If
End If
预期结果应该是如果 Ref 和 L_Dt 相同但 Class 不同则提示用户,如果 L_Dt、Ref 和 Class 都相同,这很好。
目前,当所有 3 个匹配时,这并没有像预期的那样工作。
我认为是 me.ClassTy 行是错误的,但是当我将 <> 更改为 = 时,它仍然不起作用。
解决方案
您错过了一个字段名称:
Format(Forms!MyForm![], ...
推荐阅读
- delphi - 如何在运行时分配 TFDMemtable AfterPost 和 AfterDelete 事件?
- entity-framework - 实体框架嵌套连接
- python - 如何在python中制作分隔符
- java - Spring Kafka如何动态创建多个消费者
- tensorflow - 将 K.function 与 K.gradients 一起使用时出错
- github - 如何将 WSO2 与 GitHub 集成?
- javascript - Cookie 可能返回错误的格式
- javascript - Jquery 和 Flask 的问题
- javascript - 后端突然停止工作并抛出此错误“找不到模块'../../cast/boolean'”
- python - Tensorboard 不显示来自估计器的任何标量摘要