* 検索フォームをつくりたい [#k1f4c466]
 |RIGHT:|LEFT:|c
 |~ページ|[[OpenOffice.org FAQの登録ページ]]|
 |~投稿者|kimura|
 |~分類|#listbox3(Q&A,faq03,class)|
 |~優先順位|#listbox3(普通,faq03,priority)|
 |~状態|#listbox3(回答中,faq03,state)|
 |~状態|#listbox3(完了,faq03,state)|
 |~カテゴリー|#listbox3(Base データベース,faq03,category)|
 |~投稿日|2009-10-16 16:07:02 (金)|
 |~OS|windows vista|
 |~依存するページ||
 |~バージョン|#listbox3(3.1.0,faq03,version)|
 
 ** メッセージ [#c0bb6cd0]
 |LEFT:|c
 |回答ページでは行末に「~」を付加する必要はありません|
 添付した画像のような検索フォームをつくりたいと思っています。~
 #ref(smple.jpg)~
 主なフィールドが「回線ID」「顧客コード」「顧客名」「サービス名」と、4つあり、~
 検索するごとに、「どのフィールドに検索ワードを入力して検索するか」は変わっても実行できるようにしたいです。~
 例)ある時には、回線IDだけで検索する。ある時には、顧客名とサービス名で検索する。またある時には、サービス名と顧客名の一部で検索する。~
 上記の例のように、自由にフィールドを選んで検索でき、かつ、その検索ワードも、あいまいなワードで検索できるようにしたいです。~
 こういったことは可能でしょうか。マクロというものを使うことになるのでしょうか(ちなみにマクロの場合、『openoffice.org 3 ガイドブック』の中の「マクロ入門」で勉強し、ダイアログボックスから“hello world”を表示させてみた経験しかなく、目下勉強中なので、スキルに問題があると思いますが)。
 
 あいまい検索だけであれば、クエリ―にてlikeを使えばいいと分かっているのですが、4つのフィールドすべてにlikeを設定すると、空欄があった場合、エラーになってしまった上に、会社より、パラメーターのボックスに入力する仕様ではなく、フォームに入力する仕様にしてくれ、と指示されたためです。~
 ※ちなみに、ワード入力ではなく、リストボックスなどで選択できるようにして絞り込む方法も出来るのであれば、検討したいです。
 
 いつもお手数をおかけし申し訳ありまぜんが、よろしくお願い致します。
 
 
 
 ----
 ***標準の機能としての検索 [#sfb98da9]
 >M.Kamataki (2009-10-16 20:57:17 (金))~
 ~
 たぶんBaseに標準で備わっている機能がご希望の検索フォームに近いと思われます。~
 ~
 まず、フォームの画面下部に「フォームのナビゲーション」ツールバーがあると思います。その中の下図の「フォームを基にしたフィルタ」ボタンをクリックしてください。~
 ~
 &attachref(faq5_110_1.jpg,nolink);~
 ~
 そうするとフォームの各フィールドに検索キーワードを入力できるようになります。下図ではID欄に「4」、店名欄に「LIKE '*町*'」(あいまい検索)、品名欄に「'医薬品'」などのように入力し、「フォームフィルタ」バーの一番左のボタンをクリックします。するとIDが「4」のレコードだけが選択されます。IDが「3」だと何も検索されないはずです。~
 ~
 &attachref(faq5_110_2.jpg,nolink);~
 ~
 この「フォームを基にしたフィルタ」機能がお望みの検索フォームに近いのではないでしょうか。~
 
 //
 ***デフォルトで [#xa39905d]
 >kimura (2009-10-20 11:04:08 (火))~
 ~
 いつもありがとうございます。~
 この方法で検索していきたいと思います。~
 ~
 参考までにといいますが、追加で、もし出来れば、でお聞きしたいのですが、~
 フォームを基にしたフィルタ」ボタンをクリックした際に、~
 LIKE'**'をデフォルトで入れる設定などは出来るのでしょうか。~
 不可能そうだなとは思いましたが、念のためお伺いさせてください。~
 
 //
 ***デフォルト以外の方法 [#b05f852e]
 >M.Kamataki (2009-10-20 15:17:51 (火))~
 ~
 「フォームを基にしたフィルタ」では、フィールドに挿入する文字列をあらかじめ入力しておくという設定はありません。~
 ~
 ということで、デフォルト以外の方法としては、マクロを使うことになると思います。昨日のご質問 faq/5/112「クエリ条件をフォーム参照」とも重なるので、faq/5/112で参考質問として紹介したページをご覧になってください。~
 
 //
 ***マクロかフィルターで [#eb3ce5d1]
 >kimura (2009-10-22 09:11:00 (木))~
 ~
 デフォルトでは入らないのですね、回答ありがとうございました。~
 このままフィルターでするか、マクロを使うか、検討しようと思います。~
 
 //
 #article