vba如何调用Access的查询,并显示查询结果?

想请教大家一个问题啊:我写了一个VBA程序,与Access连起来了,我想执行Access里面的写好的查询(query).并将结果显示出来,请问,可以这样做吗?Public... 想请教大家一个问题啊:
我写了一个VBA程序 ,与Access连起来了,我想执行Access里面的写好的查询(query).并将结果显示出来,请问,可以这样做吗 ?
Public Sub Test_Access()
'与数据库的连接操作
Dim Conn1
Set Conn1 = CreateObject("ADODB.Connection")
Conn1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=D:\Profiles\r60162\Desktop\完整版Model\完整版Model\1.mdb"
Conn1.Open
Set rs = CreateObject("ADODB.Recordset")
rs.Open "Select * from Fotd1", Conn1, adOpenStatic

Do While(Notrs.EOF) '循环显示指定条数的记录
MsgBox rs("Pkg_Cd")
rs.movenext '指向下一条记录
If rs.EOF Then Exit Do'已经到底最后一条记录则跳出
Loop
End Sub
其中的Fotd1,是我在Access中写好的查询,
其具体代码如下:
SELECT Pkg_Cd, Prod_Line, FG_Device, Tester, STW, MIN, MAX, [200620], [200621a], [200621b], [640_Engr_Hold_WIP], [630_Tst_WIP], [670_T&R_WIP], [720_Tray_WIP], tst_hold
FROM FOTD
WHERE Tester like "J750*" and STW<>0
ORDER BY MIN DESC;

我现在就是想将Fotd1里面的Pkg_Cd字段的内容找出来,打印在Excel中。
展开
 我来答
游戏放松小助手
高粉答主

2020-05-10 · 我是游戏小达人,乐于助人
游戏放松小助手
采纳数:32 获赞数:76860

向TA提问 私信TA
展开全部

1、首先,在电脑中找到并打开Access数据库,如下图所示。

2、然后点击“数据库工具”选项卡中的“Visual Basic”,如下图所示。

3、在弹出的VBA界面中,先选择数据库,然后点击右键,选择“插入”,“模块”,不同于Excel中的VBA,Access中的VBA代码需要放置于模块中,如下图所示。

4、在模块中输入VBA代码,并点击“运行子程序”,如下图所示。

5、这样,所输入的VBA代码就会在Access数据库中运行,如下图所示。

一点设计演示
高粉答主

推荐于2016-10-26 · 职场/教育各类模板,衷于原创
一点设计演示
采纳数:874 获赞数:83597

向TA提问 私信TA
展开全部

1.点击:创建--宏。打开宏编辑器。

2.在操作这一栏,从下拉列表中,选择runcode操作。

3.弹出了操作参数对话框,点击函数名称右边的这个省略号。

4.打开了表达式生成器,在下方选择函数进行编辑,或者自己输入公式,然后点击确定按钮。

5.点击菜单栏上面的保存按钮,在弹出的另存为对话框中,输入宏的名称,然后点击确定。

6.在宏对象中,找到刚才建立的这个宏【运行vba】,然后右键单击它,选择运行,vba函数就运行了。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leewycyp
推荐于2018-02-12 · TA获得超过134个赞
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:159万
展开全部
当然可以,用DAO,可以在VB添加DAO组件。
然后,定义参数

'Database Connection
Dim cn As Workspace
Dim db As Database
Dim Rs As Recordset
Dim YOURPWD$, strSQL$, sContent$

'设置数据库
Set cn = DBEngine.Workspaces(0)
Set db = cn.OpenDatabase(sDbPath, False, False, ";pwd=" & YOURPWD)

'打开数据库
strSQL = "Select * From YourTable"
Set Rs = db.OpenRecordset(strSQL, , dbReadOnly)

'取出一个不为NULL的字符串字段值
sContent = trim$(Rs!Item1)

--------------------------------------------------------------
'使用前提在VB中加入VB组件
Dim xlsApp As Object, xlsBook As Object, xlsSheet As Object
Dim Row&, Col&

On Error GoTo ExcelInport_Err
'创建应用Excel程序
Set xlsApp = CreateObject("Excel.Application")
'Excel WorkBook 的添加
Set xlsBook = xlsApp.Workbooks.Add
’取得活动的Excel Sheet
Set xlsSheet = xlsBook.ActiveSheet

'Excel Sheet的标题
xlsSheet.Name = "Your Sheet Name"

'Excel Sheet 内容的填充
With xlsSheet
Row = 1 '行
Col = 1 '列
.Cells(Row, Col).Value = "Your Fill Content"
End With

‘Excel
xlsApp.Visible = True

Set xlsSheet = Nothing
Set xlsBook = Nothing
Set xlsApp = Nothing
Exit Sub

ExcelInport_Err:
'关闭时没有消息框
xlsApp.DisplayAlerts = False
xlsApp.Quit
Set xlsApp = Nothing
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
GoddenSave
2015-06-18 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3013
采纳率:47%
帮助的人:502万
展开全部
vba调用Access的查询,并显示查询结果的方法如下:

用DAO,可以在VBA添加DAO组件。
然后,定义参数,写好相应的代码就可以了。
具体代码如下:

'Database Connection
Dim cn As Workspace
Dim db As Database
Dim Rs As Recordset
Dim YOURPWD$, strSQL$, sContent$

'设置数据库
Set cn = DBEngine.Workspaces(0)
Set db = cn.OpenDatabase(sDbPath, False, False, ";pwd=" & YOURPWD)

'打开数据库
strSQL = "Select * From YourTable"
Set Rs = db.OpenRecordset(strSQL, , dbReadOnly)

'取出一个不为NULL的字符串字段值
sContent = trim$(Rs!Item1)

--------------------------------------------------------------
'使用前提在VB中加入VB组件

Dim xlsApp As Object, xlsBook As Object, xlsSheet As Object

Dim Row&, Col&

On Error GoTo ExcelInport_Err

'创建应用Excel程序

Set xlsApp = CreateObject("Excel.Application")

'Excel WorkBook 的添加

Set xlsBook = xlsApp.Workbooks.Add

’取得活动的Excel Sheet

Set xlsSheet = xlsBook.ActiveSheet

'Excel Sheet的标题

xlsSheet.Name = "Your Sheet Name"

'Excel Sheet 内容的填充

With xlsSheet

Row = 1
'行

Col = 1
'列

.Cells(Row, Col).Value = "Your Fill Content"

End With

‘Excel

xlsApp.Visible = True

Set xlsSheet = Nothing

Set xlsBook = Nothing

Set xlsApp = Nothing

Exit Sub

ExcelInport_Err:

'关闭时没有消息框

xlsApp.DisplayAlerts = False

xlsApp.Quit

Set xlsApp = Nothing
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式