將選定Access數據錶導齣成TXT文件,併以TAB分開

2002-12-13 00:58:00
大熊-Office交流網
原創
4497

大熊
1、用transfertext方法
2、編程寫入文本文件,循環處理每一箇記録。
當然,兩者有些區彆,第二箇方法優點是靈活些。

李嘯林

使用 Open 輸齣目標 For Output As #ID 對文本文件進行處理


我寫過,以下程序將相關數據導齣 輸齣給工商銀行的Txt文本文件.

Private Sub 工行輸齣(ID As Integer, SQL As String, Err_str)
'SQL格式 帳號 姓名 閤計
Dim db As Database
Dim rstTemp As Recordset
Dim strLine As String
Dim Hj As String
Dim NAME As String

Set db = CurrentDb
Set rstTemp = db.OpenRecordset(SQL)

Do Until rstTemp.EOF
  With rstTemp.Fields
    If Len(Trim(!帳號)) <> 19 Then
      Err_str = Err_str & vbCrLf & !帳號 & " " & !姓名 & " " & !閤計 & "帳號錯誤"
    Else
      strLine = Trim(!帳號) & " "
      NAME = Trim(mID(!姓名, 2))
      If Len(NAME) = 1 Then
        NAME = "  " & NAME & "  "
      End If
      If Len(NAME) = 2 Then
        NAME = NAME & "  "
      End If
      strLine = strLine & Left(!姓名, 1) & NAME & " "
      Hj = CStr(!閤計 * 100)
      Select Case Len(Hj)
            Case 1: Hj = "00000000" & Hj
            Case 2: Hj = "0000000" & Hj
            Case 3: Hj = "000000" & Hj
            Case 4: Hj = "00000" & Hj
            Case 5: Hj = "0000" & Hj
            Case 6: Hj = "000" & Hj
            Case 7: Hj = "00" & Hj
            Case 8: Hj = "0" & Hj
      End Select
      strLine = strLine & Hj
      Print #ID, strLine
    End If
    rstTemp.MoveNext
  End With
Loop

Set rstTemp = Nothing
Set db = Nothing

End Sub

Private Sub 工資輸齣(strErr As String)
Dim ID As Integer
Dim strSQL As String

ID = FreeFile

Open 輸齣目標 For Output As #ID

strSQL = "SELECT 帳號,姓名,閤計 " _
       & "FROM 工資明細 " _
       & "WHERE 開戶行 = '工行' " _
       & "ORDER BY 帳號;"
       
工行輸齣 ID, strSQL, strErr

Close #ID

End Sub



(設計規範-相關文章技巧鏈接):
ACC批量導入文本文件詳解

最後編輯:zstmtony 於 2017-07-13 23:03:22

關鍵字

分享