ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 4924|回复: 6

如何把ACCESS中的数据表导到EXCEL文件指定的SHEET中!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2004-7-8 20:26 | 显示全部楼层 |阅读模式

如何把ACCESS中的数据表导到EXCEL文件指定的SHEET中!

如果默认,就导到SHEET1中,我现在想把导到SHEET2中,应该怎么做??

Dim fs As Object Set fs = CreateObject("Scripting.FileSystemObject") If Dir("C:\AS400_DATA\DATA\erp140.xls") <> "" Then fs.deletefile ("C:\AS400_DATA\DATA\erp140.xls") End If

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-7-8 20:41 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2004-7-11 11:29 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

能不能把报表的格式原封不动地导入excel

[em05]

TA的精华主题

TA的得分主题

发表于 2004-7-11 15:11 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
不能

TA的精华主题

TA的得分主题

发表于 2004-7-9 08:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

全部隐藏

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 型。字符串表达式(字符串表达式:任一求值为一列连续字符的表达式。表达式的元素可以包括:返回字符串或字符串 Variant (VarType 8) 的函数;字符串字面值、常量、变量或 Variant。),表示要向其中导入电子表格数据、从中导出电子表格数据或链接电子表格数据的 Microsoft Access 表的名称,或要将其结果导出到电子表格的 Microsoft Access 选择查询(选择查询:就表中存储的数据提出问题,然后在不更改数据的情况下以数据表的形式返回一个结果集。)的名称。

FileName 可选 Variant 型。字符串表达式,表示要从其中导入、导出到或链接到的电子表格的名称与路径。

HasFieldNames 可选 Variant 型。使用 True (-1) 可以在导入或链接时,将电子表格中的第一行用作字段名。使用 False (0) 可以将数据表第一行看成普通数据。如果将该参数留空,则采用默认值 (False)。在将 Microsoft Access 表或选择查询数据导出到电子表格中时,无论为该参数输入了何值,字段名称都将插入到电子表格的第一行中。

Range 可选 Variant 型。字符串表达式,表示电子表格中单元格的有效范围或范围名称。该参数仅可用于导入。若要导入整个电子表格,请将该参数留空。导出到电子表格时,必须将该参数留空。如果输入了一个范围,导出将失败。

UseOA 可选 Variant 型。

说明 有关该操作及其参数如何使用的详细信息,请参阅该操作的主题。

语法中的可选参数允许留空,但是必须包含参数的逗号。如果将位于末端的参数留空,则在指定的最后一个参数后面不需使用逗号。

注意 还可以使用 ActiveX 数据对象 (ADO)(数据访问对象 (DAO):一种数据访问接口,与 Microsoft Jet 和符合 ODBC 的数据源通讯,以连接到、检索、操作和更新数据和数据库结构。) 来创建链接。方法是,使用 Recordset 对象的 ActiveConnection 属性。

示例 下面的示例在 Lotus 电子表格 Newemps.wk3 的指定范围内将表导入到 Microsoft Access 的“Employees”表,并用电子表格中的第一行作为字段名。

DoCmd.TransferSpreadsheet acImport, 3, _ "Employees","C:\Lotus\Newemps.wk3", True, "A1:G12"

TA的精华主题

TA的得分主题

发表于 2004-7-8 20:37 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-12-3 11:39 | 显示全部楼层

用 With .QueryTables.Add(Rs, .Range("A1"))

'连接字符串
'access: connstr = "DBQ=" + server.MapPath("data.mdb") + ";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
'excel: sC = "Driver={MicroSoft Excel Driver (*.xls)}; dbq=" & ActiveWorkbook.FullName
'sqlserver: Public Const Sql_sConnectionString = "Provider=SQLOLEDB.1;Password=vieworder;Persist Security Info=True;User ID=vieworder;Initial Catalog=DtradeSimpleGarment01;Data Source=Server01 "


Sub GetSqlData()
    On Error Resume Next
    Application.DisplayAlerts = False
    ActiveWorkbook.Worksheets("shData").Delete
    Application.DisplayAlerts = True
    On Error GoTo Errs
    Dim Rs As New ADODB.recordset
    Dim sql As String
    sql = "select * from Data "
    Set Rs = GetSql(sql, Sql_ConnectionString)
    With ActiveWorkbook.Worksheets.Add(, ActiveSheet)
        With .QueryTables.Add(Rs, .Range("A1"))
            .Refresh
        End With
        .Name = "shData"
    End With
   
    Exit Sub
Errs:
    MsgBox Err.Description
End Sub

Public Function GetSql(sql As String, CnStr As String) As recordset
    On Error GoTo Errs
    Dim Cn As New ADODB.Connection: Set Cn = New ADODB.Connection
    Cn.Open CnStr 'Sql_ConnectionString
    Dim Rs As New ADODB.recordset: Set Rs = New ADODB.recordset: Set Rs.ActiveConnection = Cn
    Rs.Open sql, , adOpenStatic, adLockOptimistic
    Set GetSql = Rs
    Exit Function
Errs:
    Set GetSql = Nothing
End Function
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-12 01:36 , Processed in 0.023760 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表