Ms access 将数据写入文本文件将写入中文
我正在尝试将数据从VBA写入文本文件。我的语法没有显示调试或编译错误,但是当方法完成并且我打开文本文件时,它完全没有可读性。这一切似乎都是中文的。这是我的语法,是什么使输出变得难以辨认Ms access 将数据写入文本文件将写入中文,ms-access,vba,ms-access-2013,fso,Ms Access,Vba,Ms Access 2013,Fso,我正在尝试将数据从VBA写入文本文件。我的语法没有显示调试或编译错误,但是当方法完成并且我打开文本文件时,它完全没有可读性。这一切似乎都是中文的。这是我的语法,是什么使输出变得难以辨认 Function WriteData(fulllocale As String, tblName As String, CString As String) Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject")
Function WriteData(fulllocale As String, tblName As String, CString As String)
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim Fileout As Object
'Set Fileout = fso.OpenTextFile("C:\Test.txt", ForAppending, True)
Set Fileout = fso.OpenTextFile("C:\Test.txt", 8, True)
Fileout.Write fulllocale & "," & tblName & "," & CString & vbCrLf
Fileout.Close
End Function
编辑-其他信息这些是要传递的值(不是描述的粗体文本)
数据库名称:C:\Test\db1.accdb
表名:日志
连接信息:ODBC;驱动程序=SQL Server;SERVER=servername;UID=用户id;PWD=密码;APP=微软Office 2013;数据库=数据库
编辑2
这是我用来调用的语法
Sub Testing()
Dim Fileout As Object
Dim fso As Object
Dim objFSO As Object
Dim accapp As Access.Application
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Dim colFiles As Collection
Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim objRegExp As Object
Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.pattern = ".accdb"
objRegExp.IgnoreCase = True
Set colFiles = New Collection
RecursiveFileSearch "C:\Databases\", objRegExp, colFiles, objFSO
For Each f In colFiles
Set accapp = New Access.Application
accapp.OpenCurrentDatabase (f)
On Error Resume Next
accapp.Visible = False
Set db = accapp.CurrentDb
For Each tdf In db.TableDefs
If Not (tdf.Name Like "MSys*") Then
WriteData CStr(f), tdf.Name, tdf.Connect
End If
Next
Set tdf = Nothing
Set db = Nothing
Next
Set objFSO = Nothing
Set objRegExp = Nothing
End Sub
你传递的字符串中有什么?请注意,
OpenTextFile
的最后一个参数不是Boolean
——它是Tristate
,没有一个是-1
(这是隐式转换后传递的)。如果需要ASCII,则应为0。将最后一个值更改为0仍然会生成外来字符。我正在编辑我的帖子,以显示正在传递的值,这些值通过Debug正确打印。print无法复制。你是从一个空文件开始的吗?请记住,您是在附加模式下打开的。我创建了一个空白数据库,并复制/粘贴了代码,还创建了一个空白文件,将数据附加到其中,但仍然可以获得此行为。您可以发布调用代码吗?您传递的字符串中有什么内容?请注意,OpenTextFile
的最后一个参数不是Boolean
——它是Tristate
,没有一个是-1
(这是隐式转换后传递的)。如果需要ASCII,则应为0。将最后一个值更改为0仍然会生成外来字符。我正在编辑我的帖子,以显示正在传递的值,这些值通过Debug正确打印。print无法复制。你是从一个空文件开始的吗?请记住,您是在附加模式下打开的。我已创建了一个空白数据库并复制/粘贴了代码,还创建了一个空白文件以附加数据,但仍然可以获得此行为。您可以发布调用代码吗?