如何从Microsoft Access VBA中的SQL查询中获取数据?

Jus*_*tin 8 sql ms-access vba

嘿,我只是学会了如何将我的SQL语句放入VBA(或至少把它们写出来),但我不知道如何获取返回的数据?

我有几个表格(图表形式)基于我运行非常常规参数的查询,只是改变时间框架(就像月份的前10名销售一样).然后我有自动将图表对象传输到powerpoint演示文稿的过程.所以我预先建立了所有这些查询(如63),并且图表形式匹配(呃,是啊...... 63 ......我知道这很糟糕),然后所有这些事情都建立在"开放/关闭"触发下一个事件的事件(就像我最好的尝试一样是黑客......或者多米诺骨牌;无论你喜欢哪个).

所以我试图学习如何在VBA中使用SQL语句,这样我最终可以在那里完成所有这些(我可能仍然需要保留所有这些图表形式,但我不知道,因为我显然缺乏理解).

除了我在顶部提出的问题之外,有人可以提供建议吗?谢谢

JP *_*oto 10

这有点过时了,所以你可能想买一本关于这个主题.但是,这里有大量的访问资源以及一些教程和示例.但是,基本上......

Dim dbs As Database
Dim rs As Recordset
Dim strSQL As String
Set dbs = CurrentDb

strSQL = 'your query here

Set rs = dbs.OpenRecordset(strSQL)

If Not (rs.EOF And rs.BOF) Then
  rs.MoveFirst
  'get results using rs.Fields()
Else

'Use results
Run Code Online (Sandbox Code Playgroud)

每条评论:看一下记录集类.它包含一个名为Fields的集合,它是从查询返回的列.不知道你的架构,很难说,但有点像......

rs.MoveFirst
Do While Not rs.EOF
   'do something like rs("SomeFieldName") 
   rs.MoveNext
Loop
Run Code Online (Sandbox Code Playgroud)

就像我说的那样,你最好的办法是抓一本关于这个主题的书,他们有很多例子.