みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ACCESS2003で全角文字が入力できません

MyODBC:3.51.9 ACCESS2003 OS:XP MySQL:5.0.45
という環境で、ACCESSからODBCドライバ経由でMySQLに接続しました。
--テーブルのリンク--
半角英数は問題なく入力できるのですが、全角文字が入力できません。
どうすればいいのか、ご存知の方教えてください。

投稿日時 - 2008-04-25 17:07:37

QNo.3975265

すぐに回答ほしいです

質問者が選んだベストアンサー

文字コードは何でしょうか。
ACCESSはSJISの為、MYSQLの文字コードがSJIS以外では、全角文字
が表示されません。
テーブルのリンクのみであれば、chukenkenkou様のおっしゃられるとおり、
MyODBC内にコードを記述する事で表示可能になるともいます。
VBA 等で直接制御している場合は、制御コードに付与する必要があります。

参考までに。。。記述例

---- ADOで制御
Dim strConnectDB As String
Dim myAdo As New ADODB.Connection
strConnectDB = "Driver={MySQL ODBC 3.51 Driver}; server=ホスト名; database=データベース名; uid=ユーザーID; pwd=ユーザーパスワード; charset=cp932;"
myAdo.Open strConnectDB
----

---- SQL 構文の記述例 フォームコントロール割り当て時等(IN句使用)
strSQL = "SELECT 表示カラム FROM テーブル名 in '' [ODBC;Driver={MySQL ODBC 3.51 Driver}; server=ホスト名; database=データベース名; uid=ユーザーID; pwd=ユーザーパスワード; charset=cp932];"
----

等と言った方法もあります。
(上のコードは独自で書いたので、正しく無い可能性もあります。

投稿日時 - 2008-04-30 09:51:54

お礼

ありがとうございました。うまくいきました。

投稿日時 - 2008-05-02 14:52:05

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

文字コードは、sjis等に設定していますか?
クライアントでSQLを実行できる状態で、

show variables like 'char%';

を実行すれば、現在、有効になっている文字コードを表示できます。

ODBCの設定で、「Connect Options」タブの「Initial Statement」に
「SET NAMES SJIS」
といった指定をしていますか?

http://allabout.co.jp/internet/database/closeup/CU20060107A/

投稿日時 - 2008-04-26 00:45:34