Vba 以带有页眉和页脚的文本形式访问导出查询
我一直在对这个问题进行深入研究,寻找答案或至少是一个模板 我正在使用MS Access 2007。我需要将一个查询导出为一个文本文件,并且已经完成了固定宽度的规范。我遇到的问题是,我必须在导出后附加一个特定的页眉和页脚。标题必须具有当前日期,并且尾部必须具有要导出的全部项目 诚然,我有些不知所措,但通常会遇到一些做类似事情的VBA代码Vba 以带有页眉和页脚的文本形式访问导出查询,vba,ms-access,text-files,export-to-text,header-fields,Vba,Ms Access,Text Files,Export To Text,Header Fields,我一直在对这个问题进行深入研究,寻找答案或至少是一个模板 我正在使用MS Access 2007。我需要将一个查询导出为一个文本文件,并且已经完成了固定宽度的规范。我遇到的问题是,我必须在导出后附加一个特定的页眉和页脚。标题必须具有当前日期,并且尾部必须具有要导出的全部项目 诚然,我有些不知所措,但通常会遇到一些做类似事情的VBA代码 有人能帮忙吗?在导出中无法定义额外的文本行 我假设您正在使用TransferSpreadsheet方法以固定宽度格式导出查询。这通常是生成固定宽度内容的正确方法,
有人能帮忙吗?在导出中无法定义额外的文本行 我假设您正在使用TransferSpreadsheet方法以固定宽度格式导出查询。这通常是生成固定宽度内容的正确方法,无论是否包含字段标题 但是,如果要在数据内容前后向文件添加行,则需要打开现有文件,创建新文件,附加页眉行,然后将现有文件中的数据附加到新文件,然后附加页脚行,然后关闭这两个文件 您可以使用内置的VBA函数来处理文件,但我发现Scripting.Runtime库提供了更直观、面向对象的处理文件的方法 您需要在Tools中添加对Microsoft脚本运行库的引用。。参考资料
Sub EnhanceExportedFile()
Const exportedFilePath As String = "C:\Foo.txt"
Const newFilePath As String = "C:\NewFoo.txt"
Dim fso As Scripting.FileSystemObject
Dim exportedFile As TextStream
Dim newFile As TextStream
Dim rowCount As Long
Set fso = New Scripting.FileSystemObject
Set exportedFile = fso.OpenTextFile(exportedFilePath, ForReading, False)
Set newFile = fso.CreateTextFile(newFilePath, True)
'Append the date in ISO format
newFile.WriteLine Format(Now, "yyyy-mm-dd")
'Append each line in the exported file
Do While Not exportedFile.AtEndOfStream
newFile.WriteLine exportedFile.ReadLine
rowCount = rowCount + 1
Loop
'Append the total exported lines
newFile.WriteLine rowCount
'Close both files
exportedFile.Close
newFile.Close
End Sub
使用联合查询。
假设您的查询包含字段ID auto number、long、first name、lastname,并且您的tabelname是tablexx。如果您有顺序ID,它可能是这样的:
创建一个查询。
按id从表XX中选择0作为id、formatdate、dd/mm/yyyy作为名字、作为姓氏、作为nextfield等
还有一个问题
选择比预期id大得多的9999999999作为id,从tablexx中选择countid作为firstname,作为lastname,作为nextfield等,从tablexx中选择order by id
现在做一个三人联合。甚至可以将空行放在id=1等中。创建一个在当前日期字段之后带有虚拟字段的单行标题查询,以及一个带有总项目和相同虚拟空白字段的尾部查询。然后在导出之前,在一个联合查询中将它们连接在一起。。。这可能会奏效