|
3#
楼主 |
发表于 2012-5-26 14:20:29
|
只看该作者
本帖最后由 williamwangc 于 2012-5-26 14:22 编辑
1、可以从Access直接用SQL语句链接Excel表,方法如下:
SELECT * FROM [Excel 8.0;DATABASE=阁下Excel表的文件夹地址\阁下的Excel表名称.xls].[阁下数据所在标签的名称$]
具体方法还可参见红尘如烟同志专论:http://www.office-cn.net/forum.p ... hlight=%D2%BB%BE%E4
问题一我已学习了版主和红尘如烟版主的办法,完美地解决了问题。
在这里我想补充点自己的体会作为红尘如烟版主和TODAY版主该方案的完善方案。
步骤1:我首先用DOCMD.TRANSFERSPREADSHEET建立链接表。建立这个表的目的并不是为了建立链接表,而是为了学习如何建立链接表而建立的样表。- DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel12, "t", CurrentProject.Path & "/2012年生彩砖作业区台帐.xls", True, "生产资材!A2:L20"
复制代码 这是我的实例,常用TRANSFERSPREADSHEET命令的大家可以看到,原来链接表也是可以指定区域的。
步骤2:新建了这个表T后,打开该表的设计视图,不必理睬它的警告,大家仔细看表属性。里面有一行说明- Excel 8.0;HDR=YES;IMEX=2;DATABASE=C:\Documents and Settings\Administrator\桌面\对比分析\2012年生彩砖作业区台帐.xls;TABLE=生产资材$A2:L20
复制代码 我发现和TODAYNEW版主的写法有异曲同工之妙。就多了两块,但我不知道HDR=YES;IMEX=2;HDR=YES;IMEX=2; 具体是什么意思。
步骤3:参考TODAYNEW版主的方法,我复制了前面一段的说明,根据需要稍作修改,直接用SQL建立了一个查询。- SELECT *
- FROM [Excel 8.0;HDR=YES;IMEX=2;DATABASE=C:\Documents and Settings\Administrator\桌面\对比分析\2012年生彩砖作业区台帐.xls].[工具器具$A2:L50];
复制代码 实验成功。
但在SQL里也发现了问题:似乎在编辑SQL的时候不能应用类似于CurrentProject.Path这样的变量。一移动位置就又要重新改了。
|
|