Accessのメモ型フィールドでフォーム内の文字が化ける
 2007.10.23

Accessで以下のようフォームを作った際、メモ型で定義してあるフィールドが文字化けしてしまいました。 ・UNION、Right/LeftJoinした大きめなクエリ(レコード数は4000件程度) ・そのクエリにさらにGroupByをした。 ・さらにフォームへの入力条件により、サブフォームを.Filterで絞込み すると、メモ型のフィールドが、文字化けしてしまいました。 あれこれやってみましたが、なかなかうまくいかず、以下のような対応を取りました。 ○試したこと  ・GroupByをやめる   →文字化け解消。が、意味が無いのでこの対応は出来ず。  ・.Filterをやめ、SQL文を、サブフォームのRecordSourceに指定   →改善せず。  ・DAOでクエリにSQL文を投げ、結果セットをサブフォームのRecordsetに指定   →改善せず。  ・メモ型のフィールドをテキスト型へ変更   →文字化け解消。が、テキスト型だとデータが格納しきれないので、この方法もダメ。 ○結局  クエリを2つに分けました。1つ目のクエリで、UNION, Right/LeftJoin, GroupByをする。そのクエリと、メモ型のフィールドをジョインして、最終的に同じ構成になるクエリを作りました。  1つ目のクエリで結果セットを小さくしているせいか、これだと文字化けせずにすみました。 スマートな解決方法ではありませんが、同じ悩みで上記改善が見込める場合は、ご検討下さい。 ちなみに、Access2003です。たぶん2002,2000でも同様な症状・解決が可能だと思います。
カテゴリー:Windowsアプリ