vba - VBA访问表检查记录集中的范围是否有复选框
问题描述
我正在尝试设置一种方法来检查表中是否为表中的每个“PackNum”选中了一个复选框。因此,例如,如果“PackNum”123456 至少有一个复选框,那么就可以了。但如果“PackNum”654321 没有任何复选框,我想抛出一条消息。
包装号 | 提供 | 选择 |
---|---|---|
123456 | 达 | |
123456 | DD | X |
123456 | 直流 | X |
645321 | 抄送 | |
645321 | 光盘 | |
645321 | CF |
我一直在修改以下代码,但运气不佳。
Private Sub Okay_Button_Click()
Dim db As DAO.Database
Dim rs2 As DAO.Recordset
Dim strPack As String
Checked = False
Set db = CurrentDb
Set rs2 = CurrentDb.OpenRecordset("tblMtemp")
strPack = rs2.Fields("PackNum").Value
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Data Validation check that there is at least one box checks for each packnumber
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
If Not (rs2.EOF And rs2.BOF) Then
rs2.MoveFirst
Do Until rs2.EOF = True
If IsNull(DLookup("ID", "tblMtemp", rs2.Fields("Select") = True And rs2.Fields("PackNum") = " & strPack & ")) Then
MsgBox "Box is Checked"
Else
MsgBox "Box is not Checked"
End If
rs2.MoveNext
Loop
End If
End Sub
这一直假设一切都是错误的。我认为这可能是因为我正在使用 Access?我不确定。我对构建这样的东西的语法不太熟悉。
任何帮助将不胜感激。谢谢!!
解决方案
假设您的表已命名MyTable
,并且您的表的主键字段为TableID
:
IsNULL(DLookup("TableID","MyTable","Select=TRUE AND PackNum=123456"))
FALSE
如果返回"PackNum" 123456 has at least one checkbox
。
如果你想在一个循环中使用它,其中123456
是一个变量:
IsNULL(DLookup("TableID","MyTable","Select=TRUE AND PackNum=" & PackNumVariable ))
如果PackNum
是文本而不是数字类型:
IsNULL(DLookup("TableID","MyTable","Select=TRUE AND PackNum='" & PackNumVariable & "'"))
推荐阅读
- php - 按查询排序返回不同的排序
- elasticsearch - 单击特定查询结果后如何编写关联查询
- selenium - Selenium 正在抛出 NoSuchElementException
- batch-file - 在批处理文件中,我如何才能使它仅在不存在且没有错误的情况下创建联结
- flutter - showModalBottomSheet 中的颤振导航与 isScrollControlled 冲突
- javascript - 是否有必要将 TensorFlow.js 计算放在 Node.js 工作线程中?
- r - 如何跳过和忽略循环中无法被一行代码读取或提供错误的行?
- javascript - 为什么我的输入搜索事件监听器不起作用?
- c# - How to traverse nested JSON object in good time complexity?
- python - Pyspark - 将具有最大值的列转换为单独的 1 和 0 条目