Szukaj…


Wprowadzenie

Czasami może być konieczne utworzenie pliku tekstowego z ogranicznikami do różnych zastosowań. Poniższy przykład jest jednym z wielu sposobów, aby Ci to pomóc. Użyłem potoku („|”) dla mojego ogranicznika, aby to zmienić, wystarczy zmienić przypisanie zmiennej Sep. W moim przykładzie zrzucam zestaw rekordów do tablicy, to wcale nie jest podejście defacto, to tylko moje przejście. Można to łatwo zrobić za pomocą samego zestawu rekordów.

Uwagi

Warto zwrócić uwagę:

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

Ponieważ zestawy rekordów są zrzucane do transponowanych tablic, będziesz musiał odczytać je do pliku tekstowego do tyłu. Jest to właściwie przydatne, jeśli pracujesz z dynamicznymi tablicami, ponieważ jest już dla ciebie transponowany, więc zmniejszanie „liczby wierszy” można wykonać przed każdym ciężkim podnoszeniem.

Również nic nie warte:

Możesz łatwo przetransponować swoją tablicę, zrzucając ją do nowej linii po linii, używając następującej składni:

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

nie jest to zbyt istotne dla mojego postu, ale warto na to zwrócić uwagę.

Przykład:

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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow