设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[其它] 关于Access导出EXCEL的问题求助

[复制链接]
跳转到指定楼层
1#
发表于 2006-11-10 17:12:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现是一个主窗口和子窗口,见下图:



现在主窗体上有个导出EXCEL按钮,按钮单击事件代码如下:

Private Sub Command34_Click()
On Error GoTo Err_Command34_Click

Dim Qdf As DAO.QueryDef, strSQL As String

strSQL = "SELECT Q_SHPreview.* FROM Q_SHPreview"
If Me.F_MOHZPreviewWindow.Form.FilterOn = True And Me.F_MOHZPreviewWindow.Form.Filter <> "" Then
   strSQL = strSQL & " Where " & Me.F_MOHZPreviewWindow.Form.Filter
End If
     CurrentDb.CreateQueryDef "Q_SHPreview_01"
    Set Qdf = CurrentDb.QueryDefs("Q_SHPreview_01")
    Qdf.sql = strSQL
    Qdf.Close
    Set Qdf = Nothing
    DoCmd.OutputTo acOutputQuery, "Q_SHPreview_01", acFormatXLS, , True
    DoCmd.DeleteObject acQuery, "Q_SHPreview_01"
   
Exit_Command34_Click:
    Exit Sub

Err_Command34_Click:
   Select Case Err.Number
    Case 3012
     Resume Next
    Case Else
    MsgBox Err.Number & "  " & Err.Description
    Resume Exit_Command34_Click
    End Select
End Sub
直接点导出可导出所有数据,也可点前面筛选导出部份数据,现在不筛选是默认导出所有数据,但点导出时提示:2306 输出的行太多,超出了输出格式或 PO管理系统 所做的限制.

也就是说行太多了,但我查看过表,总计三万多行不到,EXCEL应该是可以放下的,而且我试过在表里直接右键导出是没问题的,另外导出时我查看默认导出类型是Microsoft Excel 5-7 (*.xls),而不是Microsoft Excel 97-2003(*.xls),我想问题应该出在这里,但唯一可查的就是导出按钮的单击事件代码,也就是以上代码,请大家帮我查查是什么问题,如何改???



如果实在没办法,就干脆在主窗口上再加多一个导出按钮,可以直接导出所有数据的功能,请问这个代码怎么写????

[此贴子已经被作者于2006-11-10 9:13:09编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-11-10 17:38:00 | 只看该作者
直接导出所有数据的代码

Private Sub Command33_Click()    'command33是导出键
On Error GoTo Err_Command33_Click

  Me.子窗体.SetFocus    '把焦点移动子窗体上
  
    DoCmd.RunCommand acCmdSelectAllRecords
    DoCmd.RunCommand acCmdCopy
  
    Dim obj As Object
    Set obj = CreateObject("Excel.Application")
    obj.Workbooks.Add
    obj.Visible = True
    SendKeys "^v"

Exit_Command33_Click:
    Exit Sub

Err_Command33_Click:
    MsgBox Err.Description
    Resume Exit_Command33_Click

End Sub
3#
发表于 2006-11-10 18:34:00 | 只看该作者
DoCmd.OutputTo acOutputQuery, "Q_SHPreview_01", acFormatXLS, , True

将"acFormatXLS"改为:"MicrosoftExcelBiff8(*.xls)"  看看?
4#
 楼主| 发表于 2006-11-10 18:42:00 | 只看该作者
已搞定,将acFormatXLS改为acFormat,然后导出时就会提示导出类型,不仅有97-2003选择,还有HTML,TXT等选择类型导出.

OK,还是谢谢大家.
5#
发表于 2008-10-8 11:51:52 | 只看该作者
谢了,我也遇到了这样的问题,一并解决了!
6#
发表于 2008-10-8 14:03:15 | 只看该作者
我是用宏直接导出就OK,
7#
发表于 2009-8-24 09:08:40 | 只看该作者
请问用宏怎么导出?
8#
发表于 2009-8-28 15:21:36 | 只看该作者
同问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-22 21:30 , Processed in 0.108358 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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