2016-05-14 6 views
-1

У меня есть код и образец файла с другой страницы об использовании excel как базы данных в VBA. и у меня такая же проблема с ударом тему: VBA ADODB Query Mysql returns character corruption но мой код есть:ADODB запрос стал странным charaters с вьетнамскими charaters

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/

Когда я использую вьетнамские Charaters в листе «данные» и запуск SQL, вьетнамский Charaters все отображается как ???

Надеюсь получить руководство по его устранению.

К сожалению, вот основной код Для получения более подробной информации, такой как рабочий код, данные и способы его работы ..., пожалуйста, загрузите полный файл из ссылки 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 поддерживает графический юникод. Я попытался, и все получилось хорошо. cnn.ConnectionString = "Driver = {Microsoft Excel Driver (* .xls, * .xlsx, * .xlsm, * .xlsb)}; DBQ =" & _ ActiveWorkbook.Path & Application.PathSeparator & ActiveWorkbook.Name должен заменить на connectionstring blow Provider = Microsoft.ACE.OLEDB.12.0; Источник данных = c: \ myFolder \ myExcel2007file.xlsx; Расширенные свойства = "Excel 12.0 Xml; HDR = YES";

благодарим вас за беспокойство