设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1321|回复: 1
打印 上一主题 下一主题

[模块/函数] 请帮忙看看模块报错,是什么原因

[复制链接]
跳转到指定楼层
1#
发表于 2013-2-24 12:12:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我使用 Henry D. Sy的模块,将表导入excl表,黄色的地方是报错的,我不知道是哪没设好,请高手指点一下,谢谢!

'---------------------------------------------------------------------------------------
' Procedure : QueryToExcel
' DateTime  : 2008-12-2 00:02
' Author    : Henry D. Sy
' Purpose   :
'---------------------------------------------------------------------------------------
'
Sub QueryToExcel(ByVal strQueryName As String, ByVal xlsName As String, ByVal _
                strShtName As String, ByVal Hval As Integer, ByVal Lval As Integer)
' Send the Query results to Excel
' for further analysis
    Dim rs As ADODB.Recordset
    Dim objXL As Excel.Application
    Dim objWs As Excel.Workbook
    Dim fld As ADODB.Field
    Dim intCol As Integer
    Dim intRow As Integer

    Set rs = New ADODB.Recordset
    ' Get the desired data into a recordset
    rs.Open strQueryName, CurrentProject.Connection
    ' Launch Excel
    Set objXL = New Excel.Application
    ' Open a  worksheet
    Set objWs = objXL.Workbooks.Open(CurrentProject.Path & "\" & xlsName & _
                                     ".xls")
    objWs.Worksheets(strShtName).Activate
    ' Copy the data
    ' First the field names 第一行是ACCESS中的列表名
     objXL.Run "清空EXCL表"

    For intCol = 0 To rs.Fields.Count - 1  '是获取表中的列数
        Set fld = rs.Fields(intCol)
        objWs.Worksheets(strShtName).Cells(Hval, intCol + Lval) = fld.Name  'Excel中(1,1)开始输入列名
    Next intCol
    ' Now the actual data 现在开始复制数据
    intRow = Hval + 1      '你可以修改intRow从第几行开始输入数据,本例中是从第2行开始复制数据
    Do Until rs.EOF       '你可以修改intCol + 1从第几列开始输入数据,本例中是从第2行第1列开始复制数据
        For intCol = 0 To rs.Fields.Count - 1
          objWs.Worksheets(strShtName).Cells(intRow, intCol + Lval) = _
            rs.Fields(intCol).Value
        Next intCol
        rs.MoveNext
        intRow = intRow + 1
    Loop
    ' Make the worksheet visible
    objXL.Visible = True    '打开Excel表查看数据
    rs.Close
    Set rs = Nothing

End Sub
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2013-2-25 12:42:17 | 只看该作者
找到问题了,我要导出的表有一个字段误设为了二进制格式,所以当表内没有内容时可以导出,但当有内容时就无法正常导出。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-6-8 18:32 , Processed in 0.089886 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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