Office中国论坛/Access中国论坛

标题: 关于隐藏列与导出 [打印本页]

作者: qp370982    时间: 2008-12-31 13:45
标题: 关于隐藏列与导出
各位老师,如何在导出文档为excel,不显示隐藏的列
作者: qp370982    时间: 2008-12-31 15:07
请各位老师多帮帮忙
作者: todaynew    时间: 2008-12-31 15:11
如果是不导出隐藏列比较容易。如果是导出隐藏列后,在Excel中也隐藏的话,实现起来有些麻烦。

对于不导出隐藏列,就是写一个select 语句,其中不包含隐藏的列就可以了。然后导出这个查询即可。

[ 本帖最后由 todaynew 于 2008-12-31 15:13 编辑 ]
作者: qp370982    时间: 2008-12-31 20:39
能不能发一个例子过来,谢谢
作者: Henry D. Sy    时间: 2008-12-31 21:04
例子应该你来发
作者: qp370982    时间: 2008-12-31 21:18
谢谢老师
作者: Henry D. Sy    时间: 2008-12-31 21:24
说说,具体要怎么样
作者: qp370982    时间: 2008-12-31 21:31
就是在窗体1中有一列“序号”是隐藏列,希望在导出的excel文件中能够不显示这一列
作者: Henry D. Sy    时间: 2008-12-31 21:41
Dim ctl As Control
Private Sub Command13_Click()
    Dim Qdf As DAO.QueryDef
    Dim rs As New ADODB.Recordset
    Dim strSQL As String, strCriteria As String
    Dim strPath As String
    Dim diaFs As FileDialog
    Set diaFs = Application.FileDialog(msoFileDialogSaveAs)
    With diaFs
        .Title = "导出为........"
        .Show
    End With
    If diaFs.SelectedItems.Count > 0 Then
        strPath = diaFs.SelectedItems(1)
    End If
    If strPath = "" Then
        strPath = CurrentProject.Path & "\out.xls"
    ElseIf Right(strPath, 4) <> ".xls" Then
        strPath = strPath & ".xls"
    End If
    Set Qdf = CurrentDb.QueryDefs("Q")
    For Each ctl In Me.Controls
        If TypeOf ctl Is OptionButton Then
            If ctl Then
                strCriteria = strCriteria & "'" & ctl.Name & "',"
            End If
        End If
    Next
    If strCriteria = "" Then
        strSQL = "SELECT * from 表1 order by 籍贯"
    Else
        strSQL = "SELECT * from 表1 where 籍贯 in (" & strCriteria & ") order by 籍贯"
    End If
    Qdf.SQL = strSQL
    strSQL = "select distinct 籍贯 from Q"
    With rs
        Set Qdf = CurrentDb.QueryDefs("Out")
        .Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
        Do While Not .EOF

            strSQL = "SELECT 姓名, 性别, 籍贯, 政治面貌, 名族 from 表1 where 籍贯='" & .Fields(0) & "'"
            Qdf.SQL = strSQL
            DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Out", strPath, , .Fields(0)
            .MoveNext
        Loop
        .Close
    End With
    Set rs = Nothing
    Set Qdf = Nothing
    Set diaFs = Nothing
End Sub
作者: qp370982    时间: 2008-12-31 23:06
请在帮你忙改改这个
要求:1、窗体1中有一列“序号”是隐藏列,希望在导出的excel文件中能够不显示这一列
           2、能不能把设置保存路径的方式改为对话框
谢谢
作者: Henry D. Sy    时间: 2008-12-31 23:31
这个例子中,既然序号是多余的,就不要放到子窗体上去。
作者: qp370982    时间: 2008-12-31 23:42
那怎样设置路径保存为对话框形式
作者: Henry D. Sy    时间: 2008-12-31 23:44
原帖由 qp370982 于 2008-12-31 23:42 发表
那怎样设置路径保存为对话框形式

[ 本帖最后由 Henry D. Sy 于 2009-1-1 07:15 编辑 ]
作者: Henry D. Sy    时间: 2009-1-1 07:16
忘了,更改字段数量。
现修正在13楼。
作者: qp370982    时间: 2009-1-1 10:21
老师,首先谢谢您,happy new year
可是我发现一个问题,当我再lizi的表中增加一行,结果就不能导出了。(“籍贯“增加了一项内容,”籍贯”、“政治面貌”、“名族”等列的种类是会随时间不断变化的)
作者: Henry D. Sy    时间: 2009-1-1 10:38
代码不能生搬硬套,要看你的实际情况
原代码是用在有省有市的情况下,
作者: huangxiuwen    时间: 2009-3-23 01:56
学习




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