ADODB无法选择扩展ASCII字符

时间:2014-04-21 13:38:05

标签: vb6 adodb

我正在使用ADODB和VB6从Excel中选择数据。 Excel中的“Book_Title”列包含扩展的ASCII字符(Abreve-Ă)。

但是当使用以下代码时,我只获得“A”而不是Abreve。

sConn = "DRIVER=Microsoft Excel Driver (*.xls);" & "DBQ=D:\sheik\metadata.xls"
rs.Open "SELECT [Book_Title], [Author_Title] FROM [Sheet1$], sConn

1 个答案:

答案 0 :(得分:0)

这里的问题是Excel驱动程序由于某种原因将字符串转换为ANSI符号。一些“聪明”的代码将Ă字符(258)转换为A(65)。

如果安装了ISAM Excel驱动程序的JET驱动程序,则以下连接字符串将使用它们:

sConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\sheik\metadata.xls;Extended Properties=""Excel 8.0;"""

现在您将获得未转换的字符串。但是,您可能无法在任何内置VB控件或IDE中正确地看到它们,因为当前代码页中不太可能存在此字符。

但你可以通过使用AscW()函数来查看第一个字符是否正确,以查看字符串中使用Mid $()获得的字符。