技術(shù) 點
- 技術(shù)
- 點
- V幣
- 點
- 積分
- 21536
|
石三少同志的問題:子窗體篩選后導(dǎo)出任意字段內(nèi)容到EXCEL中,而不是整條記錄導(dǎo)出,該如何寫代碼?
解答:
Function 導(dǎo)出數(shù)據(jù)(tbname As String, frmname As String, subfrmname As String, Qdefname As String, ParamArray A() As Variant)
'功能:導(dǎo)出子窗體數(shù)據(jù)到Excel中
'參數(shù):tbname--子窗體數(shù)據(jù)表
' frmname--主窗體名稱
' subfrmnane--子窗體名稱
' Qdefname--查詢名稱
' A()--導(dǎo)出的字段數(shù)組
Dim Qdef As QueryDef
Dim strWhere, strSQL As String
Dim i As Long
strWhere = Forms(frmname).Controls(subfrmname).Form.Filter
If strWhere = "" Then strWhere = "True"
strSQL = ""
For i = 0 To UBound(A, 1)
strSQL = strSQL & A(i) & ","
Next
If strSQL = "" Then
strSQL = "*"
Else
strSQL = Left(strSQL, Len(strSQL) - 1)
End If
strSQL = "SELECT " & strSQL & " FROM " & tbname & " WHERE " & strWhere
If DCount("*", "MSysObjects", "Type=5 and Name='" & Qdefname & "'") = 0 Then
Set Qdef = CurrentDb.CreateQueryDef(Qdefname)
Qdef.SQL = strSQL
End If
Set Qdef = CurrentDb.QueryDefs(Qdefname)
Qdef.SQL = strSQL
Qdef.Close
Set Qdef = Nothing
DoCmd.OutputTo acOutputQuery, Qdefname, acFormatXLS, , True
End Function
|
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有帳號?注冊
x
|