初心者です。よろしくお願いいたします。
エクセルでODBC接続でMYSQLテーブルデータから取りたいのですが日本語が文字化けしま
す。エクセルの「外部データーの取り込み」では文字化けせずに正常に取り込みするこ
とができますが、VBコードで抽出すると日本語の部分が「????????」と文字化けしま
す。 どなたかご教授お願いいたします。
PCの環境およびVBコードは下記です。
windows XP HE
MySql5.0
myODBC3.51
Excel 2002
apache HTTP Server 1.3.26
---------独立モジュール
' データベースとレコードセットへのオブジェクト変数
Public Cn As New ADODB.Connection ' データベースへの接続
Public Rs As ADODB.Recordset ' レコードセット
P_CnString = DRIVER={MySQL ODBC 3.51 Driver}; _
& SERVER=...; _
& DATABASE=DB_Name; _
& UID=root; password=********; OPTION=3
Function P_OpenDatabase() As Integer
Cn.ConnectionString = P_CnString() ' データベース接続文字の取得
Cn.Open ' データベースへの接続
---------オブジェクトモジュール
Dim Sh4 As String
Dim TableName As String ' MySQLテーブル名
Dim Sq1 As String ' MySQLステートメント文字列
TableName = seihin
Sh4 = Sheet3
Sq1 = SELECT * from & TableName & ORDER BY no
Set Rs = New ADODB.Recordset 'レコードセットの初期化
Rs.Open Sq1, Cn
Rs.MoveFirst
Sheets(Sh4).Activate
ActiveSheet.Range(A2).CopyFromRecordset Rs'<---文字化します。
ActiveSheet.Range(A1).Value = testテストです。'<---文字化けしません。
------------
以上です。
解決できました。
ドライバーmyODBC3.51の設定で、Connect Options」タブの「Initial Statement」の
「set name sjisi」を「set character set sjis」変更したらうまくいきました。