MS Access 秀丸

AccessからMySQLを操作

投稿日:2009年5月21日 更新日:

WordPressに書いた記事は、MySQLに格納されている。

格納された大量の記事をまとめて修正したいときは、いちいち管理画面から修正するのは疲れる。
今までは、PhpMyAdminでSQLのUPDATEを使うか、またはいったんテキストファイルでローカル環境にダウンロードしてから秀丸で置き換え機能でやってきた。

でも、フィールド数が多かったり、一つのフィールドに格納されている文字量が多かったりすると、どちらのやり方をとっても、テキストボックスをクリックしてスクロールしないと見えなかったり、あるいはウィンドウの右端で折り返されたりして、なかなか効率が悪い。

こんなとき、ローカルに強いAccessを使えたら便利なのに。
フォームが簡単に作れるから、修正対象となるフィールドだけを表示できるし、文字量の多いフィールドは、テキストボックスの書式を変更してフォントサイズを小さくすればよい。

で、今日はXAIOのMYSQL+ACCESS+ODBCドライバと、XAMPPのMySQL+ACCESS+ODBCドライバで、それぞれやってみた。

結論から言うと、最初は、文字化けしたり、レコードの読み込みはできても更新できなかったり、ODBC接続テストでエラーが出たりして、なかなかうまくいかなかったけど、最後にはできた。

  • xaio(MySQL 4.0.20)+ Access2007 + MysqlODBC(v3.51) —NG
  • xaio(MySQL 4.0.20)+ Access2007 + MysqlODBC(v5.1) —NG
  • xampp(v1.4,MYSQL(v4.0.18)) + Access2007 + MysqlODBC(v3.51) —NG
  • xampp(v1.4,MYSQL(v4.0.18)) + Access2007 + MysqlODBC(v5.1) —NG
  • xampplite(v1.7.1,MYSQL(v5.1.33)) + Access2007 + MysqlODBC(v5.1) —OK

一番最後の組み合わせで、やっと文字化けもエラーも出なくなった。ACCESS2003でもテストしてみたけどそれもうまくいった。
xamppではなくてxamppliteを使ったのは別に意味なし。パッケージをダウンロードするのに時間がかかるようだったからサイズが小さいのにしただけ。

学んだこと:
・それぞれのソフトは、面倒くさがらずに新しいバージョンをダウンロードしてきてから使うこと。特にxaioなんてのは2006年版だった・・・。
・うまくいかない理由はACCESSではなくて、MySQLとそのODBCドライバにあった。
・テストするときは、事前にxaio_start.exeでサーバを作っておかなくてはいけない。
・MySQLのODBCは5.1になってから文字コードを自動変換してくれるようになったらしい。


今日もまた、こんなことに仕事場で半日使ってしまった。
けど、最後にはうまくいってほんと良かった。何度も言うけど。

あとは、この「知恵」を使った仕事が今後来るかどうかだなあ・・・それが問題だったり。

-MS Access, 秀丸

執筆者:

関連記事

no image

latin1_swedish_ciで文字化け

新規にインストールしたXOOPS、ユーザーが見えるところはいいのだが、バックエンドのMysqlをPhpMyAdminで開くと文字化けしている。 ググれば、latin1_swedish_ciの参照設定/ …

no image

Access2007でテキストファイルエクスポートしたら1文字ずれる

Access2007で、指定フィールドからLeft関数で10文字とったクエリを作り、固定長でテキストファイルにエクスポートしたら、5000件のデータのうち3件だけが、文字が末尾に1桁多く入り、後ろがず …

no image

Accessで複数の用紙サイズ・向きの帳票を印刷したいが2枚出るとか、思ったようにならないなら

私がAccessで作った会社の業務管理システムは、帳票類がほとんどA4縦の用紙で出力されるようになっている。 しかし、一部の帳票、というか封筒は、長三サイズと、角6サイズをの用紙にしないと、プリントが …

Accessのオブジェクトをデスクトップに作っておくと超便利

結構、知らない人が多いんじゃないかな。 クエリとか、フォームへの直接のリンクを、PCのデスクトップに作れること。 ユーザーがたくさんいて、その中の一部の人には、閲覧はして欲しいけど、編集はして欲しくな …

Access「実行時エラー3061 パラメータが少なすぎます。2を指定してください」で意外な決着

クロス集計クエリをVBAで読むときで、かつパラメータクエリを使う場合には、クエリのパラメータパネルで、別途、パラメータを指定しなくてはならない(VBAで使わないなら不要) 本日のトラブルは、その後、W …