我有一个简单的问题,在从记录集读取并在循环结束时写入ti文件后,我需要在第一行(rowcount)代码中编写如下:
sFileName = "C:\filename.csv"
RowCount = 0
Open sFileNameFor Output As #1
Do While Not rst.EOF
'Print #1, rst!Name
Print #1, rst.Fields(0).Value & "|" & rst.Fields(1) ... rst.Fields(n).Value
RowCount = RowCount + 1
rst.MoveNext
Loop
'--header and rowcount
Print #1, "Header Line" & RowCount
我没有找到如何在文件的第一行“C:\ filename.csv”中添加标题
提前致谢
答案 0 :(得分:0)
Afaik,记录集中没有每个Field.Name
的集合。相反,您必须遍历集合Fields
并获取每个项目.Name
- 属性如下:
For i = 1 To rst.Fields.Count
Debug.Print rst.Fields(i - 1).Name
Next i
生成一个字符串,让我们说,像这样:
Dim strHeader as String
strHeader = rst.Fields(0).Name
For i = 1 To rst.Fields.Count - 1
strHeader = strHeader & "|" & rst.Fields(i).Name
Next i
计算i
显然有点奇怪,bc,你知道,VBA中的0-based
数组。
希望有所帮助。
答案 1 :(得分:0)
我发现这个代码完成了这项工作 - 在Loop命令下面添加它:
Dim sFileContents As String
Close #1
Open sFileNameFor For Binary As 1
sFileContents = Space$(LOF(1))
Get #1, 1, sFileContents
Put #1, 1, "Header Line " & RowCount & vbCrLf
Put #1, , sFileContents
Close #1