サーチ…


前書き

場合によっては、さまざまな用途のために区切られたテキストファイルを作成する必要があります。以下の例は、あなたがそれを行うのを手助けする多くの方法の1つです。区切り記号にパイプ( "|")を使用して、Sep変数の割り当てを変更するだけで変更しました。私の例では、レコードセットを配列にダンプしますが、これは決してdefactoアプローチではなく、ちょうど私の行くところです。これは、レコードセット自体を使用しても簡単に行うことができます。

備考

これは指摘する価値があります:

 Wholeline = Wholeline & aRR(i, j) & Sep

レコードセットは転置された配列にダンプするので、テキストファイルに逆方向に読み込む必要があります。ダイナミック配列を使って作業している場合は、すでに転置されているので、実際には便利です。そのため、「行数」を大幅に上げることは、重い持ち上げの前に行うことができます。

また、何も価値がない:

次の構文を使用して、行ごとに新しい行にダンプすることで、youre配列を簡単に転置することができます:

    Dim xaRR() As String
    ReDim xaRR(q, z)
    xaRR(j, i) = aRR(i, j)

これは私のポストにはあまり関係がありませんが、指摘する価値はあります。

例:

Private Sub this()
    Dim rs As DAO.Recordset
    Dim q%: Dim z%
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM Invoice;")

    With rs
        rs.MoveLast
        q = rs.RecordCount
        rs.MoveFirst
        z = rs.Fields.Count
    End With
    
    Dim aRR As Variant
    
    aRR = rs.GetRows(q)
    
    Dim i%: Dim j%: Dim counter#: Dim Sep$: Dim Wholeline$: Dim NewTextFile$: Dim path$: Dim fileNameV$
    
    Sep = "|"
    path = Environ("USERPROFILE") & "\Desktop" & "\"
    fileNameV = "Text007.txt"
    NewTextFile = path & fileNameV
    Open NewTextFile For Output As #2
    For j = LBound(aRR, 2) To UBound(aRR, 2)
        For i = LBound(aRR, 1) To UBound(aRR, 1)
            Wholeline = Wholeline & aRR(i, j) & Sep
        Next i
        Print #2, Wholeline
        Wholeline = vbNullString
    Next j
    Close #2

    rs.Close
    Set rs = Nothing
    Erase aRR
    
End Sub


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow