access-vba
Создание файла с разделителями текста в Access Vba
Поиск…
Вступление
Иногда вам может понадобиться создать текстовый файл с разделителями для различных целей. Следующий пример - один из многих способов помочь вам в этом. Я использовал канал («|») для моего разделителя, чтобы изменить это, просто изменив назначение Sep-переменной. В моем примере я отбрасываю набор записей в массив, это ни в коем случае не дефакто-подход, а просто мой подход. Это можно легко сделать с использованием самого набора записей.
замечания
Это стоит отметить:
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