根据参数从Access表导入到Excel

我试图创build一个模板,将利用来自Access表的数据,并允许用户selectExcel文件中的参数。 此表中的logging数量正在减慢Excel文件,并且我想减less根据用户select导入的数据量。

Access表将有三列:
部件号|行|目录代码

我想导入所有三列,但允许用户select基于目录代码导入的logging。

用户不具有对sql表的读取或写入权限,所以我在每天结束时运行Access查询以创build可以访问的Access表。

我有2007版本。 这种types的input可能吗?

提前致谢!

从Access到Excel示例。

Dim cn As Object Dim rs As Object Dim strFile As String Dim strCon As String Dim strSQL As String Dim s As String Dim i As Integer, j As Integer ''Access database strFile = "z:\docs\dbfrom.mdb" ''This is the Jet 4 connection string, you can get more ''here : http://www.connectionstrings.com/excel strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile & ";" ''Late binding, so no reference is needed Set cn = CreateObject("ADODB.Connection") Set rs = CreateObject("ADODB.Recordset") cn.Open strCon 'Rough idea intID = Sheet1.[A1] strSQL = "SELECT * " _ & "FROM Test " _ & "WHERE ID = " & intID rs.Open strSQL, cn, 3, 3 ''Pick a suitable empty worksheet for the results Worksheets("Sheet3").Cells(2, 1).CopyFromRecordset rs ''Tidy up rs.Close Set rs = Nothing cn.Close Set cn = Nothing 

你可以做到这一点没有VBA,只是通过使用MS查询(在Office 2010中工作,我不能检查'07):

  • 在Excel中转​​到数据function区,然后单击From other sources图标
  • 单击From Microsoft Query
  • selectMS Access Database*
  • 浏览并select您的数据库。
  • 在向导中select您需要导入的列
  • 在下一页上select您要过滤的列
  • select你需要的filter的types,即Equals
  • 而不是在下一个框中select一个值input[Parameter please Bob]
  • input你在下一页进行sorting
  • selectReturn data to Microsoft Excel并完成

MS Query会询问您的参数,然后Excel会询问您如何以及在哪里需要数据。 并且您的过滤的数据将出现。

现在,每次刷新数据时,都会再次询问参数,以便您轻松更改。

如果您不想要“编程”答案,请在superuser.com上询问