ADODB查询成为越南字符的奇怪字符

时间:2016-05-14 15:41:27

标签: database vba adodb

我有来自其他页面的代码和示例文件,关于在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

1 个答案:

答案 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”;

感谢您的关注