Ms access 德明元';我不读第一列
我在Access 2010中有一个Sub,它应该在三列之间拉取最小值。问题是它似乎没有阅读第一列。我已经检查了一千次拼写了,我不知道还有什么可能是错的。任何建议都将不胜感激Ms access 德明元';我不读第一列,ms-access,vba,ms-access-2010,Ms Access,Vba,Ms Access 2010,我在Access 2010中有一个Sub,它应该在三列之间拉取最小值。问题是它似乎没有阅读第一列。我已经检查了一千次拼写了,我不知道还有什么可能是错的。任何建议都将不胜感激 Private Sub UpdatePriority_Click() Const Superior As Long = 9999 Dim MinGeoPri As Variant Dim MinStrPri As Variant Dim MinSOPri As Variant MinGeoPri = Nz(DMin("
Private Sub UpdatePriority_Click()
Const Superior As Long = 9999
Dim MinGeoPri As Variant
Dim MinStrPri As Variant
Dim MinSOPri As Variant
MinGeoPri = Nz(DMin("[GeoPri]", "[Projects]", "Projects.ProjNo = Activity.ProjNo"), Superior)
MinStrPri = Nz(DMin("[StrPri]", "[Projects]", "Projects.ProjNo = Activity.ProjNo"), Superior)
MinSOPri = Nz(DMin("[SOPri]", "[Projects]", "Projects.ProjNo = Activity.ProjNo"), Superior)
Overall_Priority.Requery
Overall_Priority = IIf(((IIf([MinStrPri] < [MinGeoPri], [MinStrPri], [MinGeoPri]))) < [MinSOPri], ((IIf([MinStrPri] < [MinGeoPri], [MinStrPri], [MinGeoPri]))), [MinSOPri])
End Sub
Private Sub UpdatePriority\u Click()
Const Superior,只要长度=9999
Dim MinGeoPri作为变体
Dim MinStrPri作为变体
Dim MinSOPri作为变体
MinGeoPri=Nz(DMin(“[GeoPri]”、“[Projects]”、“Projects.ProjNo=Activity.ProjNo”)、Superior)
MinStrPri=Nz(DMin(“[StrPri]”、“[Projects]”、“Projects.ProjNo=Activity.ProjNo”)、Superior)
MinSOPri=Nz(DMin(“[SOPri]”、“[Projects]”、“Projects.ProjNo=Activity.ProjNo”)、Superior)
总体优先级重新查询
总体优先级=IIf((IIf([MinStrPri]<[MinGeoPri],[MinStrPri],[MinGeoPri]))<[MinSOPri],((IIf([MinStrPri]<[MinGeoPri],[MinStrPri],[MinGeoPri]),[MinSOPri])
端接头
您的代码有几个问题
1) 我不知道Activity.ProjNo来自何处,但DMin调用应该是:
DMin("[GeoPri]", "[Projects]", "Projects.ProjNo = " & Activity.ProjNo)
参数不在WHERE字符串的范围内
2) 如果您随后设置了相同的(字段?变量?),那么重新查询应该做什么
3) 你的IIf陈述简直是一场噩梦,我敢肯定括号有问题。:)更好:使用VBA Min()函数,如下所示: 编辑:测试功能
Public Sub MyMinTest()
Debug.Print Min(47, 11, 88)
End Sub
重新查询应该允许重新更新优先级字段。我尝试使用Min函数,但它始终返回优先级0,即使所有字段都已填写(通常不会填写,但出于测试目的,我填写了这些字段)。在即时窗口中,执行以下命令:
?最小值(47,11,88)
。我的成绩是11分。您的?您是否已将上述公共函数Min
复制到标准模块中?我看不出它为什么不起作用。哪一行突出显示为错误?是的。它没有突出显示任何内容,只是作为一个弹出窗口出现。我尝试了这个,但没有任何内容没有突出显示,即使相同的弹出窗口不断出现。这是说函数的子函数未定义,尽管我添加了Min函数。
Overall_Priority = Min(MinGeoPri, MinStrPri, MinSOPri)
Public Sub MyMinTest()
Debug.Print Min(47, 11, 88)
End Sub