'指定保存的文件名和路径对话框
Private Sub cmdBrowse_Click()
With CommonDialog1
.InitDir = "c:/"
.fileName = txtFileName.Text
.DialogTitle = "保存到文本文件"
.Filter = "文本文件 (*.txt)|*.txt|所有文件 (*.*)|*.*"
' .Flags = cdlOFNOverwritePrompt
.ShowSave
End With
txtFileName.Text = CommonDialog1.fileName
End Sub
Private Sub DoExport(fileName As String)
Dim fNum As Integer
Dim X As Integer
Dim Y As Integer
Dim lCount As Long
Dim szQuote As String '字段所使用的引号
Dim szDelimiter As String '分界符
Dim szData As String
Dim szField As String
On Error GoTo errhandle
szQuote = """"
szDelimiter = "|"
DoEvents
'Open the file
Screen.MousePointer = vbArrowHourglass
fNum = FreeFile
Open fileName For Output As #fNum
'Loop through the records, and save line by line.
lCount = 0
While Not rsData.EOF
For X = 0 To rsData.Fields.Count - 1
' 处理时间和日期格式
' If rsData.Fields(X).Type = adDBTime Then
' szField = Format(rsData.Fields(X).Value & "", "ttttt")
' ElseIf rsData.Fields(X).Type = adDBTimeStamp Or rsData.Fields(X).Type = adDBDate Then
' szField = Format(rsData.Fields(X).Value & "", "yyyymmdd")
' Else
' szField = rsData.Fields(X).Value & ""
' End If
szField = rsData.Fields(X).Value & ""
szData = szData & szQuote & Replace(szField, szQuote, szQuote & szQuote) & szQuote & szDelimiter
Next
szData = Mid(szData, 1, Len(szData) - Len(szDelimiter))
Print #fNum, szData
lCount = lCount + 1
lblCount = lCount
Me.Refresh
DoEvents
szData = ""
rsData.MoveNext
Wend
rsData.MoveFirst
'Close the file
' Set rsData = Nothing
Close #fNum
Screen.MousePointer = vbNormal
' display results.
MsgBox "共导出 " & lCount & " 条记录到文件 " & fileName, vbInformation, "导出"
Exit Sub
errhandle:
MsgBox "出错了:" & err.Description, vbCritical, "导出"
End Sub