如何从Microsoft Access VBA中的SQL查询获取数据?
技术问答
208 人阅读
|
0 人回复
|
2023-09-13
|
嘿,我只是学习了如何将SQL语句放入VBA(或至少将它们写出),但是我不知道如何获取返回的数据?
% U7 z+ x0 U: V- b8 m我有一些基于查询的表格(图表形式),这些查询针对的是我定期运行的常规参数,只是更改了时间范围(例如,当月交易量排名前10位的商品)。然后,我有一些将图表对象自动传输到PowerPoint演示文稿中的过程。因此,我已经预先构建了所有这些查询(例如63),并且要匹配图表格式(嗯,是的....
" R- Z9 e; t) v63 …我知道这很不好),然后所有这些事情都在“ open /关闭”事件触发下一个事件(这就像我尽最大努力成为黑客……或多米诺骨牌;无论您喜欢哪个)。3 Z* E+ [4 Y: ^; @' x1 ^
因此,我试图学习如何在VBA中使用SQL语句,以便最终可以在其中完成所有这些操作(我可能仍需要保留所有这些图表形式,但我不知道,因为我显然缺乏理解)。
( X, W# Z$ X. d$ b/ h8 I% J9 ^4 W. i因此,除了我在顶部提出的问题之外,还有人可以提供建议吗?谢谢$ ?7 b" I" c" Z+ I% V: x" q* A! Q- T5 E
, n- U! w8 _8 p" D' |
解决方案:
; ?8 ~" M T1 Y' @/ w$ ?- _) @4 a
$ P" d# ]% K) t; F8 H2 x1 p8 Y
6 e" u# l7 o! B. x; K, I1 Q: [6 \; I9 x: X% E' M/ w, a
这有点过时了,所以您可能想拿一本关于该主题的书。但是,这里有大量的访问资源以及一些教程和示例。但是,基本上…
3 l" d3 l+ E( h3 ^% E; dDim dbs As Database
/ L w& d# n% r9 i' l* h6 cDim rs As Recordset
; K9 N& d/ R2 P! c" J; U9 [Dim strSQL As String
7 j t3 T# L$ v4 SSet dbs = CurrentDb& V; D2 C* y. d7 P
strSQL = 'your query here
$ V5 [2 |1 W% `4 v$ d8 dSet rs = dbs.OpenRecordset(strSQL)4 w2 \. d+ p# `- t& ~+ q6 m
If Not (rs.EOF And rs.BOF) Then
* ^! E8 T1 U8 g% g rs.MoveFirst0 V' G; x, D. h3 D
'get results using rs.Fields()& |3 F- H$ e N" B
Else
1 }9 @ l" A7 X/ }, n/ O' [1 j'Use results
, f# o7 i* {7 P$ f' }. O# a每条评论:看一下记录集类。它包含一个称为“字段”的集合,这些集合是您的查询返回的列。不知道您的模式,很难说,但是类似…+ I' {' Z! F G0 W4 G* x
rs.MoveFirst
4 S) J# z" Y! j* bDo While Not rs.EOF0 L5 K1 K1 j8 c) I3 F
'do something like rs("SomeFieldName") 9 W T3 b; i, Y& Q: j
rs.MoveNext
1 r* i2 C8 ]: ?# d, R" PLoop
7 j# t( P! l! F" Z- R1 ^就像我说的,您最好的选择是读一本关于这个主题的书,其中有很多例子。 |
|
|
|
|
|