Office中国论坛/Access中国论坛
标题:
在access窗体中如何设置导入excel数据命令按扭
[打印本页]
作者:
directcn
时间:
2009-7-22 09:58
标题:
在access窗体中如何设置导入excel数据命令按扭
兄弟们,小弟现在有个问题.就是在access窗体中如何设置导入excel数据命令按扭.点击这个按扭就能导入指定的EXCEL里的数据到指定的表中.谢谢!
作者:
liwen
时间:
2009-7-22 13:10
现成的例子很多,尝试使用论坛中的搜索功能或直接使用百度等搜索相关主题即可.
作者:
Henry D. Sy
时间:
2009-7-22 14:41
TransferSpreadsheet 方法
请参阅 应用于 示例 特性
在 Visual Basic 中,TransferSpreadsheet 方法执行 TransferSpreadsheet 操作。
expression.TransferSpreadsheet(TransferType, SpreadsheetType, TableName, FileName, HasFieldNames, Range, UseOA)
expression 必需。返回“Applies To”列表中的一个对象的表达式。
TransferType 可选 AcDataTransferType。
AcDataTransferType 可以是下列 AcDataTransferType 常量之一:
acExport
acImport 默认
acLink
如果将该参数留空,将采用默认常量 (acImport)。
SpreadsheetType 可选 AcSpreadSheetType。
AcSpreadSheetType 可以是这些 AcSpreadSheetType 常量之一:
acSpreadsheetTypeExcel3
acSpreadsheetTypeExcel4
acSpreadsheetTypeExcel5
acSpreadsheetTypeExcel7
acSpreadsheetTypeExcel8 默认
acSpreadsheetTypeExcel9 默认
acSpreadsheetTypeLotusWJ2 - 仅适用于日文版
acSpreadsheetTypeLotusWK1
acSpreadsheetTypeLotusWK3
acSpreadsheetTypeLotusWK4
注意 可以链接 Lotus 1-2-3 电子表格文件中的数据,但是这些数据在 Microsoft Access 中是只读的。可以导入自和链接到 Lotus .WK4 文件,但是不能将 Microsoft Access 数据导出为这种电子表格格式。Microsoft Access 也不再支持使用该方法对 Lotus .WKS 或 Microsoft Excel 2.0 版电子表格数据的导入、导出或链接。
如果将该参数留空,将采用默认常量 (acSpreadsheetTypeExcel8)。
TableName 可选 Variant 型。字符串表达式,表示要向其中导入电子表格数据、从中导出电子表格数据或链接电子表格数据的 Microsoft Access 表的名称,或要将其结果导出到电子表格的 Microsoft Access 选择查询的名称。
FileName 可选 Variant 型。字符串表达式,表示要从其中导入、导出到或链接到的电子表格的名称与路径。
HasFieldNames 可选 Variant 型。使用 True (-1) 可以在导入或链接时,将电子表格中的第一行用作字段名。使用 False (0) 可以将数据表第一行看成普通数据。如果将该参数留空,则采用默认值 (False)。在将 Microsoft Access 表或选择查询数据导出到电子表格中时,无论为该参数输入了何值,字段名称都将插入到电子表格的第一行中。
Range 可选 Variant 型。字符串表达式,表示电子表格中单元格的有效范围或范围名称。该参数仅可用于导入。若要导入整个电子表格,请将该参数留空。导出到电子表格时,必须将该参数留空。如果输入了一个范围,导出将失败。
UseOA 可选 Variant 型。
说明
有关该操作及其参数如何使用的详细信息,请参阅该操作的主题。
语法中的可选参数允许留空,但是必须包含参数的逗号。如果将位于末端的参数留空,则在指定的最后一个参数后面不需使用逗号。
注意 还可以使用 ActiveX 数据对象 (ADO) 来创建链接。方法是,使用 Recordset 对象的 ActiveConnection 属性。
示例
下面的示例在 Lotus 电子表格 Newemps.wk3 的指定范围内将表导入到 Microsoft Access 的“Employees”表,并用电子表格中的第一行作为字段名。
DoCmd.TransferSpreadsheet acImport, 3, _
"Employees","C:\Lotus\Newemps.wk3", True, "A1:G12"
作者:
directcn
时间:
2009-7-22 17:38
谢谢!我这么做了!可以!但是我导入一遍后,在点击导入,它又导入了一遍重复的数据!并没有把原来的数据替换!这样就有一个问题,就是相同的数据出现了两次!能不能我导入一遍后,如果在导入的话把原来相同的值替换掉呢!
作者:
Henry D. Sy
时间:
2009-7-22 18:20
那就导入前先清空目标表
作者:
directcn
时间:
2009-7-22 19:42
不行,数据是要保留着的不能清空!我就怕我忘记已经导完的数据,然后在导入一遍那样统计出来的数据就不准了!应该有方法能避免吧!斑竹帮想想还有别的办法没了?谢谢~~
作者:
asklove
时间:
2009-7-23 08:24
用SQL语句简单实现Access与Excel的联系
1、从Access直接查询Excel,可以是条件查询,查询中可以修改Excel数据,但不能删除数据。
SELECT * FROM [EXCEL 8.0;DATABASE=I:\excel\表1.XLS].sheet1;
2、从Access更新Excel表。
UPDATE [EXCEL 8.0;DATABASE=I:\excel\表1.XLS].sheet1 SET sheet1.性别 = "女";
3、从Access导入数据到Excel中。
INSERT INTO [EXCEL 8.0;DATABASE=I:\excel\表1.XLS].sheet1 SELECT * FROM 表;
4、从Excel导入数据到Access中。
INSERT INTO 表 SELECT * FROM [EXCEL 8.0;DATABASE=I:\excel\表1.XLS].sheet1;
5、从Access生成Excel表。
SELECT * INTO [EXCEL 8.0;DATABASE=I:\excel\表1.XLS].sheet1 FROM 表;
6、从Excel生成Access表
SELECT * INTO 表 FROM [EXCEL 8.0;DATABASE=I:\excel\表1.XLS].sheet1;
作者:
liwen
时间:
2009-7-23 10:10
先弄清楚你凭什么判断导入的是重复的数据,你可以依据此在导入前进行判断,是重复则不进行导入,必要时可以使用临时表.
作者:
stvent
时间:
2009-8-6 22:23
顶了!~
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3