Office中国论坛/Access中国论坛

标题: 关于Access导出EXCEL的问题求助 [打印本页]

作者: jamieyang    时间: 2006-11-10 17:12
标题: 关于Access导出EXCEL的问题求助
我现是一个主窗口和子窗口,见下图:

[attach]21437[/attach]

现在主窗体上有个导出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编辑过]


作者: van_zeng    时间: 2006-11-10 17:38
直接导出所有数据的代码

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
作者: 静儿    时间: 2006-11-10 18:34
DoCmd.OutputTo acOutputQuery, "Q_SHPreview_01", acFormatXLS, , True

将"acFormatXLS"改为:"MicrosoftExcelBiff8(*.xls)"  看看?
作者: jamieyang    时间: 2006-11-10 18:42
已搞定,将acFormatXLS改为acFormat,然后导出时就会提示导出类型,不仅有97-2003选择,还有HTML,TXT等选择类型导出.

OK,还是谢谢大家.
作者: 老虾米    时间: 2008-10-8 11:51
谢了,我也遇到了这样的问题,一并解决了!
作者: huiyi88    时间: 2008-10-8 14:03
我是用宏直接导出就OK,
作者: csl591    时间: 2009-8-24 09:08
请问用宏怎么导出?
作者: xluuu    时间: 2009-8-28 15:21
同问




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