我有来自其他页面的代码和示例文件,关于在VBA中使用excel作为数据库。我对主题打击也有同样的问题: VBA ADODB Query Mysql returns character corruption 但我的代码有:
cnn.ConnectionString = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" & _
ActiveWorkbook.Path & Application.PathSeparator & ActiveWorkbook.Name
有什么方法可以解决这个问题吗?
以下是有关代码的详细信息(对不起,如果阅读时间太长): http://chandoo.org/wp/2012/04/02/using-excel-as-your-database/
当我在表格中使用越南语字符时,数据"并且运行SQL,越南语字符都显示为???
希望收到一些修复指南。
对不起,这是主要代码 有关工作代码,数据及其工作原理的更多信息,请从上面的chandoo链接下载完整文件,因为我不知道如何在此处附加文件:
Option Explicit
Public cnn As New ADODB.Connection
Public rs As New ADODB.Recordset
Public strSQL As String
Public Sub OpenDB()
If cnn.State = adStateOpen Then cnn.Close
cnn.ConnectionString = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" & _
ActiveWorkbook.Path & Application.PathSeparator & ActiveWorkbook.Name
cnn.Open
End Sub
Public Sub closeRS()
If rs.State = adStateOpen Then rs.Close
rs.CursorLocation = adUseClient
End Sub
答案 0 :(得分:0)
我找到了答案 建议使用OLE DB而不是ODBC。 OLE DB支持unicode charater。我试过,效果很好。 cnn.ConnectionString =“Driver = {Microsoft Excel Driver(* .xls,*。xlsx,* .xlsm,*。xlsb)}; DBQ =”& _ ActiveWorkbook.Path& Application.PathSeparator& ActiveWorkbook.Name 应该用连接串打击代替 Provider = Microsoft.ACE.OLEDB.12.0; Data Source = c:\ myFolder \ myExcel2007file.xlsx; 扩展属性=“Excel 12.0 Xml; HDR = YES”;
感谢您的关注