過去の桐井戸端BBS (桐ver.9)
29335 フォームで作業中にコマンドボタンで絞込みしたい 始めたばかり 2005/03/09-17:01
表のデータは[線路区分]、[路線番号]、[枝番号]の3つを組み合わせてIDにしています。
3つとも同じIDを持つレコードがいくつかあります。

フォームで作業中に、現在表示しているレコードと同じIDを持つレコードを、
できればコマンドボタンを使って絞り込みたいのですが、その方法がどうしても判りません。
(過去ログでも見つけられませんでした)
どなたか、機能名と機能パラメータリストの書き方を教えていただけないでしょうか。
ヒントでもけっこうです。よろしくお願いします。
29336 Re:コマンドボタンで絞込みしたい 宮城 2005/03/09-18:04
記事番号29335へのコメント
始めたばかりさん、こんにちは。

> [線路区分]、[路線番号]、[枝番号]の3つを組み合わせてID

の部分がなんかありそうですが、単一項目の場合で説明します。

V9なら実はコマンドボタン使うこともないんですが。表示モードでポイントしたまま
右クリック→絞り込み→同一値。(訂正モードじゃダメですよ。)

コマンドボタンでは二つのステップで考えてください。

1.項目値を変数に取り込む。
2.項目値=変数値で絞り込む。

共通変数 &STRを使って、

行 機能名      機能パラメータリスト
1 なし       #代入(&STR,[路線区分])
2 絞り込み_比較式 [路線区分]=&STR

これは文字列項目の場合。数値項目なら &実行リターンでも使ってください。

もちろん、変数宣言して独自の変数使ってもいいです。

#代入(&STR,[路線区分])はなじめないでしょうが、レファランスで調べてください。こんな使い方をする関数です。
29345 Re:コマンドボタンで絞込みしたい 始めたばかり 2005/03/11-09:20
記事番号29336へのコメント
宮城さん、アドバイスありがとうございます。
お返事がおそくなり申し訳ありません。

教えていただいたとおりにやったら出来ました!
こんな関数があるんですね〜。
あとはこの繰り返しで何とかなりそうです。
ありがとうございました。m(__)m
29346 Re:コマンドボタンで絞込みしたい 始めたばかり 2005/03/11-11:58
記事番号29336へのコメント
すみません。一旦は解決したと思ったのですがやはりうまく行きません。
最初の絞込みをすると絞込まれた行の先頭行に移動してしまうのです。
絞込みをかけても処理中の行が常に表示されるにはどうすればいいのでしょうか?
よろしくお願いします。
29347 Re:コマンドボタンで絞込みしたい 宮城 2005/03/11-12:12
記事番号29345へのコメント
>あとはこの繰り返しで何とかなりそうです。

>> [線路区分]、[路線番号]、[枝番号]の3つを組み合わせてID

こういうのに一番簡単に対応するには、[key]とかいう項目を追加します。
[線路区分]が文字列、[路線番号]が 3桁までの数値、
[枝番号]が 2桁までの数値だったとして、項目計算式にこんな感じ。

[路線区分]+"*"+#文字列([路線番号],3)+"*"+#文字列([枝番],2)

先の[線路区分]を[key]に置き換えます。"*"は好みというかおまじないみたいなものとご理解ください。
29348 Re:コマンドボタンで絞込みしたい 宮城 2005/03/11-12:31
記事番号29346へのコメント
絞り込み後は先頭行に移るのは仕様です。(同一ツリーで記述していいかなあ?)

KEVを記述しないとだめでしょう。

コマンドボタンの機能は「手続き実行」、機能パラメータは「ボclink」とか。

KEVは次のとおり。

手続き定義開始 ボclick()
 代入 &STR=[路線区分]
 行マーク定義 1
 絞り込み [路線区分]=&STR
 ジャンプ 行マーク=1
 行マーク解除 1
手続き定義終了


29349 Re:コマンドボタンで絞込みしたい bonito 2005/03/11-12:41
記事番号29346へのコメント
kev(一括処理コマンド)なら行マークというのがあって

行マーク定義 1
 〜いろいろな処理〜
ジャンプ 行マーク=1
行マーク解除 1

とやるところですがコマンドボタンには残念ながらこの機能はないようです(私の持ってるV8には...)

始めたばかりさん、この表にはレコード(行)を特定するユニークな値を持つ項目がありますか?
あれば簡単ですし、なければ作らなければなりませんが
この項目を仮に[行NUM]という長整数(数値系)型として
宮城さんのコメントを勝手に少し書き換えさせていただくと

行 機能名      機能パラメータリスト
1 なし       #代入(&STR,[ID],#代入(&秒,[行NUM])
2 絞り込み_比較式 [ID]=&STR
3 検索_比較式   [行NUM]=&秒

とこんな感じになると思います

でもV8でも絞り込み解除には第2パラメ−タに処理対象行保持
"する","しない"があるんだから、今の(新しい)桐には
絞り込みにも第1パラメータに条件や比較式で第2パラメータには
処理対象行保持を"する","しない"があってもいいような気がするが...どうなんでしょうか?
29351 Re:コマンドボタンで絞込みしたい 始めたばかり 2005/03/11-16:08
記事番号29348へのコメント
宮城さん、何度もありがとうございます。
bonitoさんも、別の方法を教えていただき感謝です。

宮城さんの方法、やっと理解できました。
なにせ「KEV」とは何ぞや?(ヘルプで検索しても出て来ないし)
から始まったものですから、恐ろしく時間がかかってしまいました。
やっとこ「KEV」とはコマンドファイルと気付き、ご指導のとおりに作成し、
コマンドボタンもそのように書いたのですがまったく動作せず・・・。
(この間、数時間^^;)
結局、イベント処理ファイルを指定してないのが原因でした。
あとは代入〜行マークまでを3条件ぶん書いて、当初の希望どおりコマンドボタンを押すだけで
一発絞込み出来ました!とっても嬉しいです♪
今回はとってもいい勉強をしました。
大変お世話になりました。m(__)m
29352 Re:コマンドボタンで絞込みしたい 宮城 2005/03/11-16:51
記事番号29351へのコメント
>なにせ「KEV」とは何ぞや?(ヘルプで検索しても出て来ないし)
>から始まったものですから、恐ろしく時間がかかってしまいました。

「テキスト検索」では出てきますです。ここに書いてくれてもよかったんですけどね。

今回のはやや変りダネに近いのでちょっと追記しておきます。
普通はたとえばコマンドボタンの「イベント」のタブにある、「フォーカス取得」・・・の出来事(イベント)が
あったときどうするかを記述します。(このリストに「ぼclick」なんてないですよね。だから変わりダネ。)

面白そうなのということで「マウスインアウト」にチェック入れてダブルクリックしてみてください。
KEVが立ち上がってきます。
手続き定義開始、終了の行は自動的に記述されてきますから、普通はこんなふうに中身だけを記述すればよいわけです。

これ以上は完全に別の話ですのでこのへんで。
29361 Re:コマンドボタンで絞込みしたい 始めたばかり 2005/03/14-11:23
記事番号29352へのコメント
宮城さん、追記ありがとうございます。

>面白そうなのということで「マウスインアウト」にチェック入れてダ
>ブルクリックしてみてください。KEVが立ち上がってきます。
こういう風に作成できるとは便利ですね。
わたしは知らずに新規作成からKEVを作りました。勉強になりました。

戻る