小编典典

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

sql

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

我有一些基于查询的表格(图表形式),这些查询针对的是我定期运行的常规参数,只是更改了时间范围(例如,当月交易量排名前10位的商品)。然后,我有一些将图表对象自动传输到PowerPoint演示文稿中的过程。因此,我已经预先构建了所有这些查询(例如63),并且要匹配图表格式(嗯,是的....
63 …我知道这很不好),然后所有这些事情都在“ open /关闭”事件触发下一个事件(这就像我尽最大努力成为黑客……或多米诺骨牌;无论您喜欢哪个)。

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

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


阅读 309

收藏
2021-04-22

共1个答案

小编典典

这有点过时了,所以您可能想拿一本关于该主题的书。但是,这里有大量的访问资源以及一些教程和示例。但是,基本上…

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

每条评论:看一下记录集类。它包含一个称为“字段”的集合,这些集合是您的查询返回的列。不知道您的模式,很难说,但是类似…

rs.MoveFirst
Do While Not rs.EOF
   'do something like rs("SomeFieldName") 
   rs.MoveNext
Loop

就像我说的,您最好的选择是读一本关于这个主题的书,其中有很多例子。

2021-04-22