访问2013 32位/ Windows 7 64位
我有一个键表,根据键值,我的vba将运行一些查询并填充表中的其他字段 - 我称之为“检查”我在表中有一个“已检查”列并且必须打破将这个列表处理成几个批次(并且不断添加更多记录)所以我想过滤掉“已检查”的那些。我想使用单独的查询没有
我正在使用传统的循环w / a条件: (我的代码在这里只是一个模拟忽略语法)
Move First
Do Until EOF
if Table("Checked") = "True" Then goto NextRow
<Code>
NextRow:
Move Next
Loop
我想继续这种方法,但在开始时过滤掉所有"Checked" = True
答案 0 :(得分:1)
只需使用具有WHERE子句的查询打开记录集。
Dim rs As Recordset
Dim S As String
S = "SELECT foo, morefoo FROM bar WHERE [Checked] = 0"
' Or if Checked is a Text column:
S = "SELECT foo, morefoo FROM bar WHERE [Checked] <> 'True'"
Set rs = CurrentDb.OpenRecordset(S)
Do While Not rs.EOF
' code
rs.MoveNext
Loop
(顺便说一下,循环中你的Move First
会创建一个无限循环......)
答案 1 :(得分:0)
我最终对字段进行了排序,然后在到达标记为已选中的行时退出了子菜单。