Filterを用いたDataSetのフィルタリング


森川  2005-03-04 03:46:59  No: 13548

DataSetに対してフィルタリングをするためにFilterを用いています。
検索機能(〜を含むものという検索)を実装したく、

Filter:=[項目名]+'LIKE ''%'+[検索値]+'%''';

このようなコードで試みました所、"A"や"ア"のような半角文字での検索は成功したのですが、
"あ"などの全角文字ではどうもうまく動いてくれません。

過去ログを見たのですが、SQLによるフィルタリングで解決しているところもあるのですが、
SQLの変更を行うと、DataSetの中身が変わってしまうので
変えたくありません。どうしてもFilterを使いたいのですが…;;

どうかよろしくお願いいたします。


@っしー  2005-03-04 18:59:06  No: 13549

Delphi-MLでも同じような症状で質問された方がいらっしゃいました。

下記URLで確認できませんか?
http://www.sourcedimension.gr.jp/xoops/html/

また、使用されている環境とDBも挙げて頂けると、さらに回答が付くと思いますが、、、


森川  2005-03-08 18:49:57  No: 13550

@っしーさんありがとうございます。

上記URLで確認して参りました。私と同じ状況のトラブルのようです。
ちなみに環境はWinXPでDelphi7Enterpriseです。
DBはInterBase7で、dbExpressで接続しております。

この件につきまして色々サイトめぐりをしている途中にも
同じような症状の方のコラムも拝見したことがありますので、
これはロジックを組むしかなさそうですね。


@っしー  2005-03-08 22:03:08  No: 13551

ClientDataSetのOnFilterRecordイベントを調べてみてください。

このイベントを使う場合は、フィルター処理出来ることが確認できています。

WinXP + D7Ent + ADO + Midas + MDBでの確認です。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加