過去の桐井戸端BBS (桐ver.9)
30685 検索フォームで日付を入力して該当する日付のデータを抽出したい ちびねこ 2005/08/04-14:37
データから ある月のものだけを抽出したい場合
(たとえば 8月配送予定のものとか)

フォームなどで作成した 検索欄に "2005/08"と入力してTBLの 配送年月日欄に日付が投入されている場合、
該当するレコードすべてを抽出するのはどうやったらいいでしょうか?

検索用の検索.TBLのようなのを作成して それをデータファイルと照合させて
結合表で抽出結果を表示するような形でしょうか....

検索事項を投入する欄をフォームで作成したのですが
入力することができないのです


30690 Re:検索フォーム 宮城 2005/08/04-17:31
記事番号30685へのコメント
>検索用の検索.TBLのようなのを作成して それをデータファイルと照合させ
>て
>結合表で抽出結果を表示するような形でしょうか....

なんかものすごい変化球を想定されているようですが、「変数」使ってちょこちょことやるだけです。

>検索事項を投入する欄をフォームで作成したのですが
>入力することができないのです

「欄」とはいかに? 入力できないとは?

適当な変数をソースにしたテキスト領域を作るのですが、入力できないとはソースに何も設定していないのでは?

以下、ざっと考え方だけ。

(日時型使ったほうが賢明とは思うのだけど)文字列で年月日扱うんですね。"2005/08"なんて
ハンパな入力やめといたほうがいいです。
年は西暦で4桁、月日は必ず2桁、区切りは必ず半角スラッシュでかっちり入力しましょう。

文字列である以上、"2005/08/04"と"2005/8/4"は当然違うデータです。

さて、範囲指定で from、toの二つテキスト領域を置くのが、結局一番すっきりすると思います。

ソースは出来合いの文字列型変数、&STRと&選択ファイル名でも使いますか。(もちろんオリジナルを宣言しても可。)

言い忘れましたが、こういう場合、私は一覧表フォームとし、テキストはヘッダにおきます。

オブジェクト移動とかは一切省力。コマンドボタン2つ配置します。
(説明が前後しますが、絞り込んだあと元に戻せないとまずいので)一つは「解除」。
機能は「行操作 解除」、機能パラメータは「*」。

(ホントは変数クリアもしておきたいけど、次のステップで取り組んでください。)

もう一個のコマンドボタンが「抽出」。簡単にコマンドボタンの機能だけで、

機能:行操作 絞り込み_比較式
機能パラメータ:>=&STR,<=&選択ファイル名

KEVでいろいろやりたい(ex.アンマッチだったときのメッセージとか)ところですが、こんなところでどうですか?

30691 Re:検索フォーム アックン 2005/08/04-18:27
記事番号30685へのコメント
ちびねこさん
絞り込みでよいなら、次のようにしてはどうでしょう。

抽出したい日付を入力するテキストオブジェクトソース:&STR (←組み込み変数です)

こうすれば、テキストボックスに入力可能になります。

(A)コマンドボタンの機能名を使うときはこうします。

機能名       機能パラメータリスト
絞り込み_比較式   [項目名]=*&STR*

(B)イベントを使うときはこうします。

絞り込み [配送予定日]=*&STR*
または
絞り込み [配送予定日]{*&STR*}

イベントを設定する場所
(a)コマンドボタンなら「左クリック」イベントでいいです。

(b)コマンドボタンを使わず、日付を入力して即絞り込みたいなら、
日付を入力するテキストオブジェクトの「ソース値更新」イベントがいいです。

アックン(=^・^=)
30692 Re:検索フォーム アックン 2005/08/04-18:36
記事番号30691へのコメント
補足します。
該当する年月がないときも、絞り込みされて、空行が表示されます。
その対策です。
イベントの場合ですが、下のようにするといいですよ。

 絞り込み [項目名]=*&STR*
 if( .not&選択件数 )
   確認 "該当するデータがありませんでした。"
   解除 *
 end


30693 Re:検索フォーム アックン 2005/08/04-18:53
記事番号30692へのコメント
誤)   解除 *
正)   解除 1
30699 教えてください ちびねこ 2005/08/05-01:14
記事番号30691へのコメント
ありがとうございます やってみます

ところで メニューをフォームでつくって ボタンをつくり
データ更新しようと思い、データ更新用メニューをつくりそこからいろいろ作業をしようとしましたが
メニューのボタンを押すたびに データ更新用のメニューが表示されてしまいます

データ更新用メニューが表示されて別のフォームなどに隠れている場合、
ボタンを押したとき新たなデータ更新用メニューが表示されるのではなく、
既に表示されているデータ更新用メニューが最前面に表示されるようにできるでしょうか.....

何度もすみません(><)
30700 Re:教えてください アックン 2005/08/05-08:17
記事番号30699へのコメント
ちびねこさん> 別スレ立ててください。

30701 Re:教えてください 宮城 2005/08/05-08:48
記事番号30699へのコメント
さらに・・・、

メニューを呼び出すためにボタン押しときながら、それが前面に出てきてはイヤだとは、意味がわかりませんぞ。ご再考かた。

30708 フォームのヘッダに検索条件投入欄を作る場合 ちびねこ 2005/08/05-13:45
記事番号30693へのコメント
いつもありがとうございます
ちびねこです

またいきづまってしまいましたo(><)o

必要でーたを引っ張ってをつくり、その結合表を利用して
 配送リスト一覧表フォームを作成しました

そこのヘッダ部分に 教えていただいた 検索用のテキストオブジェクトを作ろうと思ったのですが
ヘッダ領域を広げることができません

フッダ部分は広げられるのですが....設定の方法があるのでしょうか?

初心者の質問ですみません(x_x;)
30711 Re:フォームヘッダ部の高さを調整するには アックン 2005/08/05-14:34
記事番号30708へのコメント
ちびねこさん>
フォームヘッダ部を高さを広げるやり方を、3通り書いておきます。

(a)ヘッダ部を左クリックして、
「オブジェクトの属性」パネルの「セクション」(タブ)→「セクションの高さ」

(b)メニューの「書式」→「オブジェクトのリスト」→左欄「フォームヘッダ
部」をクリック→
右欄「すべて」(タブ)→「セクションの高さ」

初めて「オブジェクトのリスト」画面を出すと、欄がひとつしかないはずです。
右欄を出すやり方
右クリック→「両方」
→パネルの右辺をマウスで右に広げます。

(C)メニューの「書式」→「オブジェクトのリスト」→左欄「フォームヘッダ部」をクリック→
「オブジェクトの属性」パネルの「セクション」(タブ)→「セクションの高さ」

30712 Re:フォームヘッダ部の高さを調整するには アックン 2005/08/05-14:41
記事番号30711へのコメント
>(a)ヘッダ部を左クリックして、
ヘッダ部を右クリックして「オブジェクトの属性」パネルを出せます。

30798 ありがとうございました ちびねこ 2005/08/08-15:38
記事番号30712へのコメント
高さを変更できました^^; わからないこと多すぎです

30800 別スレで解決しました ちびねこ 2005/08/08-15:54
記事番号30699へのコメント
同じサブメニューが何回も表示されるのを回避することができました

戻る