Office中国论坛/Access中国论坛

标题: 向高手求教!急! [打印本页]

作者: rongrong    时间: 2004-1-9 23:14
标题: 向高手求教!急!
请教高手:
    如何用VBA写一段程序以实现将现有的excel表格导入access中,包括表里的数据,本来access的主菜单中有一个导入,可是我想在窗体中放一个按钮,让这个按钮来控制导入,导出。
    非常感谢有高手能指点我菜鸟!
    谢谢![em01][em01]
作者: ququ    时间: 2004-1-9 23:40
呵,一起关注
作者: sea.er    时间: 2004-1-10 08:40
TransferSpreadsheet 操作
        

您可以使用 TransferSpreadsheet 操作在当前的 Microsoft Access 数据库 (.mdb) 或 Access 项目 (.adp) 和电子表格文件之间导入或导出数据。还可将 Microsoft Excel 电子表格中的数据链接到当前的 Microsoft Access 数据库中。通过链接的电子表格,您可以用 Microsoft Access 查看和编辑电子表格数据,同时还允许在 Microsoft Excel 电子表格程序中对数据进行完全访问。还可以链接 Lotus 1-2-3 电子表格文件中的数据,但这些数据在 Microsoft Access 中是只读的。

设置

TransferSpreadsheet 操作有以下参数。

操作参数 说明
Transfer Type 所要执行传送操作的类型。在“宏”窗口“操作参数”窗格中的“传输类型”框中选择“导入”、“导出”或“链接”。传输类型的默认值为“导入”。
  注意  Access 项目 (.adp) 不支持这种链接类型。  
Spreadsheet Type 用于指明所要导入、导出或链接的电子表格的类型。您可以在选项框中从多个电子表格类型中选择一个。类型的默认值是 Microsoft Excel 8。
  注意   您可以从 Lotus .WK4 文件中导入和链接(以只读方式)数据,但不能将 Microsoft Access 数据以这种电子表格格式导出。Microsoft Access 也不支持用此操作从 Lotus.WKS 或 Microsoft Excel 2.0 版本的电子表格导入、导出或链接数据。如果您要从 Microsoft Excel 2.0 版本或 Lotus .WKS 格式的电子表格中导入或链接数据,则必须在将数据导入或链接到 Microsoft Access 以前,将电子表格转换成 Microsoft Excel 或 Lotus 1-2-3 的最新版本。  
Table Name 用于指明 Microsoft Access 表的名称。该表用于导入电子表格数据或链接电子表格数据,以及从该表导出电子表格数据。您可以键入用于导出数据的 Microsoft Access 选择查询的名称,该参数不可省略。
  如果选择传输类型参数为“导入”,而表已经存在,则 Microsoft Access 将电子表格数据追加到该表。否则, Microsoft Access 创建一个新表来存放电子表格数据。
  在 Microsoft Access 2000 中, 当执行 TransferSpreadsheet 操作时,不允许使用 SQL 语句来指定要导出的数据。相反,要先创建一个查询,并在 Table Name 参数中指定查询的名称。
File Name 用于指明所要导入、导出或链接的电子表格文件的名称。该名称包括完整路径。此参数不可缺省。
  当您从 Microsoft Access 导出数据时,Microsoft Access 将创建一个新的电子表格。如果导出数据的文件名与现有的电子表格同名,则 Microsoft Access 将取代现有的电子表格,除非是导出到 Microsoft Excel 5.0 、7.0 或 8.0 版本及 Excel 2000 工作簿中。在后一种情况下, Microsoft Access 将导出数据复制到工作簿中的下一个可用的新工作表中。
  如果从 Microsoft Excel 5.0、7.0 或 8.0 版本,或 Excel 2000 电子表格中导出或链接数据,您可以用 Range 参数指定一个特定的工作表。
Has Field Names 用于指明电子表格的第一行是否包含字段名。如果选择“是”,在导入或链接电子表格数据时,Microsoft Access 将使用该行的名称作为 Microsoft Access 表的字段名。如果选择“否”,Microsoft Access 则将第一行作为普通的数据。该参数的默认值为“否”。
  当将 Microsoft Access 表或选择查询导出到电子表格时,无论您是否选择了该参数,字段名都将被插入到电子表格的第一行中。
Range 用于指明导入或链接的单元格范围。在导入或链接整个电子表格时请将该参数设为空。您可键入一个电子表格范围的名称,或指定导入或链接单元的范围,如 A1:E25 (注意 A1..E25 的语法格式在 Microsoft Access 97 或 Microsoft Access 2000 中无效)。如果要导入或链接到 Microsoft Excel 5.0、7.0、8.0 或 Excel 2000 版本工作表,可以在范围前加前缀:工作表的名称加上感叹号,如 Budget!A1:C7。
  注意  若是将数据导出到电子表格,则必须将该参数设为空。如果输入了一个范围,则导出操作失败。


说明

您可以将 Microsoft Access 选择查询的数据导出到电子表格中。Microsoft Access 将像导出表一样导出查询的结果集。

在 Microsoft Access 表中添加的电子表格数据必须和表结构兼容。

电子表格中的每个字段的数据类型都必须和表中相对应的字段一致。


字段必须具有相同的顺序(除非您将 Has Field Names 参数设置为 Yes ,此时,电子表格中的字段名必须与表的字段名相匹配)。

该操作等同于在“数据库”窗口中指向“文件”菜单中的“获取外部数据”子菜单或“导出”命令,然后选择“导入”或“链接表”这一系列动作。可用这些命令来选择数据源,如 Microsoft Access 或其他类型的数据库、电子表格或文本文件。在选择了一个电子表格后,将出现一系列的对话框,或一个可运行的 Microsoft Access 向导,在其中您可以选择电子表格的名称和其他选项。TransferSpreadsheet 操作的参数与这些对话框或向导中的选项相对应。

注意  如果查询或筛选一个链接电子表格,则该查询或筛选区分大小写。

如果链接到一个以“编辑”方
作者: rongrong    时间: 2004-1-14 21:08
非常感谢!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3