Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 德明元';我不读第一列_Ms Access_Vba_Ms Access 2010 - Fatal编程技术网

Ms access 德明元';我不读第一列

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("

我在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("[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