我在Excel VBA中有一个Access DataBase和一个表单。我输入到数据库的所有数据都是通过VBA表格输入的。如何将SQL语句结果导出到Excel文件
该数据库包含我们今年在公司中收到的所有优惠卡。但是同一个员工可以要求两张或更多的卡片,所以我们将在他的数据库上有多条记录。
我需要的是当记录数大于1时,SQL语句结果应该出现在Excel报告中。
我使用SELECT (*) COUNT
语句来知道何时有多个记录与搜索条件兼容。但是我不能让结果出现在Excel文件中。
这里是我的代码:
Public Function Relatorio()
Dim sql As String
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim rel As String
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & enderecoDB & ";Jet OLEDB:Database"
cn.Open
Set rs = New ADODB.Recordset
sql = "INSERT INTO OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=" & enderecoDB & ";', 'SELECT * FROM [Planilha1$]') SELECT * FROM controle WHERE BP = " & controlectform.nmbpbox.Value & ";"
rs.Open sql, cn
End Function
当我运行这段代码是给了我一个消息,说是这样的:
无法找到OPENROWSET表出口
我无法安装新程序,所以我只需要使用Excel VBA和Access DB来完成此操作。
我该如何做这项工作?
尝试把这个查询访问中作为视图,比查询从VBA – Asaf
新视图我用一个字段的形式使“选择”。即使我把查询放入访问中,我仍然可以继续使用表单字段来进行“选择”? –