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

2025-03-14 00:08:18
推荐回答(4个)
回答1:

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

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

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

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

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

回答2:

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

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

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

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

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

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

回答3:

当然可以,用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

回答4:

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