【发布时间】:2018-06-08 16:54:38
【问题描述】:
我一直在尝试获取 Dmax,如果这是正确的方法,则返回列中的最大值。该表单有一个控件,用于检查以验证在 On Change 事件中输入的值。该事件应检查另一个表(材料采购订单数据表)以获取最大值。如果文本框(PO_NUM)中的值小于另一个表的最大值,则会弹出一个消息框通知情况并撤消在框中的输入。但是,我被困在 Dmax 线上。
Private Sub PO_Num_Change()
Dim MaxNum As Long
DoCmd.OpenTable "MATERIAL PO DATASHEET"
MaxNum = DMax([MATERIAL PO DATASHEET]![PO NUMBER], [MATERIAL PO DATASHEET])
If Me.PO_Num.Value <= MaxNum Then
strMsg = "This PO Exists!"
If MsgBox(strMsg, vbExclamation, "Confirm") = vbOK Then
Me.Undo
Else
Me.Undo
End If
End If
DoCmd.Close , "MATERIAL PO DATASHEET"
End Sub
我收到的错误是“运行时错误 2465:MS Access 找不到您的表达式中引用的字段 '|1'”。此错误使我认为某些内容可能输入错误或某些内容,但所有字段似乎都匹配。该表在 DoCmd 行上打开(没有问题),并在 DMax 处停止。
我也试过了:
MaxNum = DMax([PO NUMBER], "MATERIAL PO DATASHEET")
和
MaxNum = DMax([PO NUMBER], [MATERIAL PO DATASHEET])
感谢任何反馈,
谢谢,
迈克尔
【问题讨论】:
标签: ms-access vba ms-access-2010