0

これは私が投稿した最初の質問なので、サイトのルールに違反しないことを願っています! 答えを探しましたが、探しているものがまったく見つからないようです。

データをエクスポートしている VB コードがありますが、必要な列ヘッダーが含まれていません。

Access 2010 を使用しており、パイプ区切りの CSV ファイルを選択したフォルダーの場所にエクスポートしています。いくつかのクエリを使用して親テーブルから作成されたアクセスのテーブルからエクスポートしているため、基本的には、CSV でエクスポートしようとしている結果のテーブルにすぎません。

これは、パイプ delim CSV としてエクスポートしているが、ヘッダーを追加していない IS を使用しているコードです。

Private Sub BtnExportCSV_Click()

Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim intFile As Integer
Dim strFilePath As String
Dim intCount As Integer
Dim strHold

strFilePath = "I:\Data\test.csv"

Set db = CurrentDb

Set rst = db.OpenRecordset("T_Export_CSV", dbOpenForwardOnly)

intFile = FreeFile


Open strFilePath For Output As #intFile

Do Until rst.EOF
   For intCount = 0 To rst.Fields.Count - 1
    strHold = strHold & rst(intCount).Value & "|"
   Next
   If Right(strHold, 1) = "|" Then
      strHold = Left(strHold, Len(strHold) - 1)
   End If
   Print #intFile, strHold
   rst.MoveNext
   strHold = vbNullString
Loop

Close intFile
rst.Close
Set rst = Nothing

MsgBox ("Export Completed Successfully")

End Sub

助けてくれてありがとう!

スコット

4

1 に答える 1

0

レコードセット フィールドの Name-Property もファイルに書き込む必要があります。

これをコードに挿入して、それを実現します。

[...]
Open strFilePath For Output As #intFile

If Not rst.EOF Then
   For intCount = 0 To rst.Fields.Count - 1
      strHold = strHold & rst.Fields(intCount).Name & "|"
   Next
   If Right(strHold, 1) = "|" Then
      strHold = Left(strHold, Len(strHold) - 1)
   End If
   Print #intFile, strHold
   strHold = vbNullString
End If

Do Until rst.EOF
[...]
于 2015-04-22T11:22:22.440 に答える