DataSetに対してフィルタリングをするためにFilterを用いています。
検索機能(〜を含むものという検索)を実装したく、
Filter:=[項目名]+'LIKE ''%'+[検索値]+'%''';
このようなコードで試みました所、"A"や"ア"のような半角文字での検索は成功したのですが、
"あ"などの全角文字ではどうもうまく動いてくれません。
過去ログを見たのですが、SQLによるフィルタリングで解決しているところもあるのですが、
SQLの変更を行うと、DataSetの中身が変わってしまうので
変えたくありません。どうしてもFilterを使いたいのですが…;;
どうかよろしくお願いいたします。
Delphi-MLでも同じような症状で質問された方がいらっしゃいました。
下記URLで確認できませんか?
http://www.sourcedimension.gr.jp/xoops/html/
また、使用されている環境とDBも挙げて頂けると、さらに回答が付くと思いますが、、、
@っしーさんありがとうございます。
上記URLで確認して参りました。私と同じ状況のトラブルのようです。
ちなみに環境はWinXPでDelphi7Enterpriseです。
DBはInterBase7で、dbExpressで接続しております。
この件につきまして色々サイトめぐりをしている途中にも
同じような症状の方のコラムも拝見したことがありますので、
これはロジックを組むしかなさそうですね。
ClientDataSetのOnFilterRecordイベントを調べてみてください。
このイベントを使う場合は、フィルター処理出来ることが確認できています。
WinXP + D7Ent + ADO + Midas + MDBでの確認です。
ツイート | ![]() |