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でも同様な症状・解決が可能だと思います。
カテゴリー:技術情報メモ