MYSQLへエクセルでODBC接続で文字化け

[戻る]
4dyasu [E-Mail] [HomePage] 2007/05/01(火) 18:34:15
初心者です。よろしくお願いいたします。

エクセルで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テストです。"'<---文字化けしません。
------------
以上です。

4dyasu [E-Mail] [HomePage] 2007/05/22(火) 20:55:41
[[解決]]
解決できました。
ドライバーmyODBC3.51の設定で、Connect Options」タブの「Initial Statement」の
「set name sjisi」を「set character set sjis」変更したらうまくいきました。

古いスレッドには追加発言できません。