ms-access - 空列的 DMin

标签 ms-access vba ms-access-2010

我有三个 DMin,用于查找三列中的最小数字。唯一的问题是当我有一个空列时,它会返回空白。如何考虑空列?

这是我正在使用的代码。

Private Sub UpdatePriority_Click()

Dim MinGOPri As Variant
Dim MinSRPri As Variant
Dim MinSOPri As Variant

MinGOPri = DMin("[GOPri]", "[Projects]", "Projects.ProjNo = Activity.ProjNo")
MinSRPri = DMin("[StrPri]", "[Projects]", "Projects.ProjNo = Activity.ProjNo")
MinSOPri = DMin("[SOPri]", "[Projects]", "Projects.ProjNo = Activity.ProjNo")

Overal_Priority.Requery

Overal_Priority = IIf(((IIf([MinGOPri] < [MinSRPri], [MinGOPri], [MinSRPri])))
 < [MinSOPri], ((IIf([MinGOPri] < [MinSRPri], [MinGOPri], [MinSRPri]))), [MinSOPri])


End Sub

最佳答案

当您希望找到三个中的最小值时,您可以在 DMin 为 Null 时插入一个“大于其他值”的值:

' Very large value.
Const Superior As Long = 9999

Dim MinGOPri As Variant
Dim MinSRPri As Variant
Dim MinSOPri As Variant

MinGOPri = Nz(DMin("[GOPri]", "[Projects]", "Projects.ProjNo = Activity.ProjNo"), Superior)
MinSRPri = Nz(DMin("[StrPri]", "[Projects]", "Projects.ProjNo = Activity.ProjNo"), Superior)
MinSOPri = Nz(DMin("[SOPri]", "[Projects]", "Projects.ProjNo = Activity.ProjNo"), Superior)

关于ms-access - 空列的 DMin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30585489/

相关文章:

vba - 如何检查数据透视表中是否选择了多个项目?

ms-access - 将 Access 2010 转换为旧版本

vba - 访问表单链接到断开连接的 ADODB.Recordset : save changes

excel - 在 VBA 中,如何从该语句中访问 With 语句的主题?

vb.net - Ms-Access:连接 3 个表

sql - 将 Access 数据库转换为 SQL

ms-access - 错误 : This recordset is not updateable

vba - Excel 如果选择被剪切然后做事

ms-access - 仅以连续形式更改控制源选定的组合框

ms-access - 在报告中显示 PDF