2016-05-14 6 views
-1

VBAでデータベースとしてExcelを使用することに関する他のページのコードとサンプルファイルがあります。そして私は、トピックブローと同じ問題があります。 VBA ADODB Query Mysql returns character corruption を私のコードがある:ADODBクエリは、ベトナム語の文字を持つ奇妙なキャラクタになる

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はUnicode文字をサポートします。私は試して、それはうまくいった。 cnn.ConnectionString = "ドライバ= {Microsoft Excelがドライバー(* .XLS、*の.xlsx、* .xlsm、* .xlsb)}; DBQ =" & _ ActiveWorkbook.Path & & Application.PathSeparator ActiveWorkbook.Name べき接続文字列で置き換えてください。 Provider = Microsoft.ACE.OLEDB.12.0;データソース= c:\ myFolder \ myExcel2007file.xlsx; 拡張プロパティ= "Excel 12.0 Xml; HDR = YES";

ありがとうございました