

文件处理
查询后选择字段导出示例
2013-07-22 12:16:58
文件类型 :
文件版本 :
简要说明 :
我们需要根据筛选出来的数据进行导出打印,Access自带的宏 outputto 远远不能满足要求。
此时需要vba来控制导出了。更有甚者,我们需要根据需要导出我们的需求字段。
导出一个表或者查询中的部分数据到EXCEL表中,其方法也有很多。
下面介绍的一个是通用函数,可在任意窗体调用使用。
Private Function GetSql(ByVal OpA As String, listctrl As ListBox) As String
'功能:返回SQL字符串
'参数:OpA -- Me.OpenArgs (写为:me.name & "子窗体控件名称")
' listctrl--存放所选字段的ListBox控件
Dim frm As Form
Dim A
Dim ssql As String, tb As String, wh As String
Dim i As Long
If listctrl.ListCount > 0 Then
A = Split(OpA, ";")
Set frm = Forms(A(0)).Controls(A(1)).Form
tb = Replace(frm.RecordSource, ";", "") 'From子句部分
wh = "True "
If Nz(frm.Filter, "") <> "" Then
wh = wh & " and " & frm.Filter 'Where子句部分
End If
ssql = "select "
For i = 0 To listctrl.ListCount - 1
ssql = ssql & listctrl.Column(0, i) & "," '拼接Select子句部分
Next
ssql = Left(ssql, Len(ssql) - 1) 'select子句部分
ssql = ssql & " from (" & tb & ") where " & wh
Else
ssql = ""
End If
GetSql = ssql
End Function