[非常急!!!]excel引用access表中的相关字段
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[非常急!!!]excel引用access表中的相关字段相关的知识,希望对你有一定的参考价值。
本人在工作中遇到如下问题:在access里有个表名为"户籍的数据库",另外有个excel表"民生银行200"0的表.现在的问题是如何将"户籍的数据库"中和"民生银行200"中字段"身份证号码相同的数据导入到excel中产生如以下格式的数据
姓名身份证号码 附加信息
王五 1004 2008-9-1,JT,福建泉州
再如 十二郎 2006 [此附加信息access未查到,该空格留空]
即execl表附加信息应包括 申请时间字段 银行字段 地址信息字段 这三个内容
如果excel中有的身份证号码 而数据库文件中并没有 则附加信息为空白
最后注意:本题是将access里面的表数据引用到execl表格中,access含有大量数据
该例子的纳米网盘上传页面为 http://www.namipan.com/d/%e4%be%8b%e5%ad%90.rar/2a44f61d7c299f865b2ff2d00ff4986e6455338a71320000
或者
http://www.namipan.com/downfile/%E4%BE%8B%E5%AD%90.rar/2a44f61d7c299f865b2ff2d00ff4986e6455338a71320000
可以试试VLOOKUP
还有可以试一下:先说一下office2000吧,office2003没有使用过,应该和这个一样。
在excel2000中,点击工具栏的数据->获得外部数据->新建数据库查询,
下一步在出来的对话框中选择数据库->Ms Access Database,
下一步在出来的对话框中选择access数据库的路径及名称,
下一步在查询向导中选择access的表明及字段名,
下一步筛选,
下一步关键字及排序,
完成。
这样可以把符合条件的access数据显示到excel中,还可以刷新纪录。
office2007的方法是在数据(->获得外部数据)->自其他来源->来自Microsoft Query,其他的和office2000一样 参考技术A 点击工具栏的数据->获得外部数据->新建数据库查询,
下一步在出来的对话框中选择数据库->Ms Access Database,
下一步在出来的对话框中选择access数据库的路径及名称,
下一步在查询向导中选择access的表明及字段名,
下一步筛选,
下一步关键字及排序,
完成。
根据参数从 Access 表导入 Excel
【中文标题】根据参数从 Access 表导入 Excel【英文标题】:Import to Excel from Access table based on parameters 【发布时间】:2012-01-18 12:53:48 【问题描述】:我正在尝试创建一个模板,该模板将利用 Access 表中的数据,并允许用户选择 Excel 文件中的参数。此表中的记录量使 Excel 文件变慢,我想减少基于用户选择导入的数据量。
Access 表将包含三列: 零件编号|行|目录代码
我想导入所有三列,但允许用户根据目录代码选择导入的记录。
用户对 sql 表没有读取或写入权限,因此我在每天结束时运行 Access 查询以创建他们可以访问的 Access 表。
我有 2007 版本。这种导入方式可行吗?
提前致谢!
【问题讨论】:
有可能。你目前做得怎么样? 目前,我在每天结束时运行 Access 查询来更新表。 Excel 文件链接到 Access 中的该表,以显示上面的三列。他们可以从那里使用 Excel 过滤器,但速度真的很慢。 这不仅是可能的,使用 ADO 甚至不是特别困难:support.microsoft.com/kb/257819,在 *** 上也发布了一些示例。为了安全起见,您可以使用命令对象和参数。 谢谢!我对 VBA 很陌生,所以我必须花一些时间来使用它。我希望有没有 VBA 的方法。 @Remou,该链接似乎是从 Excel 工作表而不是从 Access 数据库中获取数据。 【参考方案1】:您可以在没有 VBA 的情况下执行此操作,只需使用 MS Query(适用于 Office 2010,我无法检查 '07):
在 Excel 中,转到数据功能区并单击From other sources
图标
点击From Microsoft Query
选择MS Access Database*
浏览并选择您的数据库。
在向导中选择您需要导入的列
在下一页选择您要过滤的列
选择您需要的过滤器类型,即Equals
不要在下一个框中选择值,而是输入 [Parameter please Bob]
在下一页输入您的排序
选择Return data to Microsoft Excel
并完成
MS Query 会询问您的参数,然后 Excel 会询问您需要数据的方式和位置。并且您的过滤数据将出现。
现在每次刷新数据时都会再次询问您的参数,因此您可以轻松更改它。
附言如果您不想要“编程”答案,请在superuser.com 上提问
【讨论】:
【参考方案2】:从 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
【讨论】:
以上是关于[非常急!!!]excel引用access表中的相关字段的主要内容,如果未能解决你的问题,请参考以下文章
将我的 Access 表导出到 Excel,但将列中的不同值拆分到不同的工作表中
急!!在delphi中如何将sql server 2000数据库中的一个表中的内容全部导到excel表中
Access VBA:删除单元格值与 Access 表中的值匹配的 Excel 行