Access 2010 VBA查询表并迭代结果

Sal*_*lly 15 ms-access vba access-vba ms-access-2010

我有一个查询,我想对表执行.结果我想做点什么.在我的脑海中,伪代码是:

var q = "select * from table where some condition";
var results = db.getResults(q);
foreach (row r in results )
    do something with result
Run Code Online (Sandbox Code Playgroud)

我怎么会这样与vba类似?

Fio*_*ala 29

DAO是Access的原生,是迄今为止最常用的.ADO有它的位置,但这不太可能.

 Dim rs As DAO.Recordset
 Dim db As Database
 Dim strSQL as String

 Set db=CurrentDB

 strSQL = "select * from table where some condition"

 Set rs = db.OpenRecordset(strSQL)

 Do While Not rs.EOF

    rs.Edit
    rs!SomeField = "Abc"
    rs!OtherField = 2
    rs!ADate = Date()
    rs.Update

    rs.MoveNext
Loop
Run Code Online (Sandbox Code Playgroud)

  • 我只想说,一般来说,走记录集不是经常更新数据的事情.有许多只读方案,您正在组装数据以便以某种格式使用(例如输出到HTML),但更新通常最好使用SQL UPDATE命令(尽可能这样). (4认同)