我希望能够使用SQL从表中检索数据并显示到Access中的即时窗口。
我是VBA的新手,我似乎找不到这样做的方式
Dim strSQL As String
Dim cdb As DAO.Database
Dim result As Variant
strSQL = "SELECT x, from y WHERE z;"
Set cdb = CurrentDb
Debug.Print strSQL
result = Call cdb.Execute(strSQL)
Debug.Print result
答案 0 :(得分:3)
仅从第一个记录打印字段值。
Dim strSQL As String
Dim result As DAO.Recordset
strSQL = "SELECT x FROM y WHERE z;"
Set result = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
result.MoveLast
result.MoveFirst
Debug.Print result!x
如果要从每条记录中打印一个值,请使用循环结构移动到每条记录,如:
Do While Not result.EOF
Debug.Print result!x
result.MoveNext
Loop
查看此网站http://allenbrowne.com/tips.html - 查看“图书馆示例”部分'大约一半。
答案 1 :(得分:1)
要仅使用一行生成结果(假设只返回一条记录),您可以使用:
Debug.Print CurrentDb.OpenRecordset("SELECT x FROM y WHERE z").Fields(0).Value
你也可以使用DLookUp函数,它不是SQL,但你会识别这些部分:
Debug.Print DLookUp("x", "y", "z")