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

「3070 有効なフィールド名または式として認識できません」エラーで、困った

Accessで、クエリ単体での実行だとうまくいくのに、いざ、そのクエリをVBAコード内で実行すると、上記エラーが出る。 難問だった。 SQL文内でDISTINCTを使っているからかなーとか、LEFT …

秀丸の正規表現で置換

秀丸で文字の前後を入れ替えたい

秀丸で、文字の前後を入れ替え(置き換え)たいとしたときに、結構手間取ったので、メモ。 やりたいこと。 例えば、 「Tシャツ《無地》5枚 カラー:グリーン サイズ:フリー 」を 「Tシャツ《無地》5枚 …

Accessで複数レコードを1レコードにまとめる(運送会社送り状作成のため

Accessに入れてある楽天の注文データをもとに、運送屋さんの送り状伝票を作ろうと思い立った。 しかし、楽天の注文データは、同一の受注番号で複数の商品に分かれている。 例えば一人の人が3点買い物をした …

no image

AccessのDoCmd.OpenForm acPreviewでデータが表示されない

なぜか、フォームに新規データを入力し、印刷プレビュー(DoCmd.OpenForm “見積請求書F”, acPreview)した際に、それまで入力したデータが消えたようになる。 …

no image

Accessでレポートのレコードソースを動的にセットしたい

今までは、フォーム上のボタンをクリックしたら、レポートをデザインで開いてからレコードソースをセットしなければならないと思っていた。 つまり、こんなやり方をやっていた。 フォーム: [sourcecod …