我正在使用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
答案 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 $()获得的字符。