過去の桐井戸端BBS (桐ver.9)
25220 イベントを使ってAフォームでボタンを押すとBフォームが起動して絞り込みをするということをしたい しお 2004/03/03-16:03
毎回、質問ばかりですみません。
なんども、ご教授頂いているのですが、応用力がないというか、適応能力がないというか情けないのですが、
次のような処理をしたくて悩んでいます。

AフォームとBフォームがあり、A.tbl、B.tblがそれぞれあります。

A.TBL
[販売店][販売店名]
B.TBL
[販売店][商品番号]

があります。A,Bフォームとも一覧表ですが、Aフォームで販売店にカーソルを置いて、ボタンを押すと、
Bフォームが起動して、Aフォームで選択していた、[販売店]だけの商品番号を絞り込みをして、
目で確認したのち別テーブルに書き出したいのです。

以前、教えて頂いた方法を参考にがんばって考えてみましたが、やはり内容を理解出来ていないのか、上手くいきません。
過去ログを見てみたのですが、上手く探せませんでした。
どなたかご教授お願いできないでしょうか
25221 Re:イベントを使って絞り込みをしたいのですが 宮城 2004/03/03-19:10
記事番号25220へのコメント
しおさん、こんにちは。

「上手くいきません」だけではどこに問題があるのかというおはなしの起点にはなりません。おしまい。

ではあんまりなので、こんなのかなぁというのを書いておきますが・・・。

Aフォームのボタン押したときの KEV。

手続き定義開始 bボタンclick()
 メソッド呼び出し @フォーム.更新モード設定(0)
 代入 &販売店=[販売店]
 フォーム呼び出し Bフォーム,編集表=する
 メソッド呼び出し @フォーム.更新モード設定(2)
手続き定義終了

ボタンには機能名「手続き実行」、機能パラメータリスト「bボタンclick」
(ここで「()」をつけないのがミソ?)

Bフォームの編集対象表のタブ、表の操作で [販売店]を&販売店で絞り込む
開始条件設定。

こちらにボタン作ってこれ押したら別テーブルに書き出す KEV記述。
もう一個「閉じる」ボタン。

これだけあれば、絞り込み結果がよければ書き出しボタン、NGならそのまま
「閉じる」ボタンで一応は機能すると思いますが。(検証まではしてません。)

# やっぱり「ご教授」って言われると違和感あり。


25253 Re:イベントを使って絞り込みをしたいのですが しお 2004/03/05-11:10
記事番号25221へのコメント
宮城さんありがとうございます。

>「上手くいきません」だけではどこに問題があるのかというおはなしの起点
>にはなりません。おしまい。

確かにそのとおりです。
それなのに返答ありがとうございました。
そこで、2日間がんばってみました。イベント処理がいまいち(ほとんど)理解できていないので、
教えて頂いたのを参考にヘルプを見ながらやってみました。

で下のようなものをAフォームで作成しましたが、「KU1062:ウインドウはすでに割り当てられています」ってエラーが出てしまいます。
どの辺が良くないのかお知恵をお借りできませんか?

Aフォーム

名札 メイン
 var 数値{ &販売店 }
 var 数値{ &商品名 }
 var 局所 , 整数 { &end }



手続き定義開始 調定作成::マウス左クリック(長整数 &マウス位置[2],長整数 &明細番
号,長整数 &フラグ,参照 長整数 &処理中止)
method @フォーム.更新モード設定( 0 )
  &販売店=[販売店]
  フォーム呼び出し "Bフォーム.wfm",編集表=する
method @フォーム.更新モード設定( 2 )
手続き定義終了

Bフォーム

Bフォームにはまだ手をつけていません。

25261 Re:イベントを使って絞り込みをしたいのですが Mao 2004/03/05-13:08
記事番号25253へのコメント
しおさん、こんにちわ。Maoです。

左クリックイベントを設定したオブジェクト(調定作成)は、コマンドボタンですネ。

機能名に「開く」:機能パラメータに「Bフォーム.wfm」

って設定になってませんか?

同じものを2つ開こうとしているのだと思います。

頑張って下さい。
25262 Re:イベントを使って絞り込みをしたいのですが しお 2004/03/05-13:48
記事番号25261へのコメント
Maoさん、ありがとうございます。

早速、確認してみたのですが、

>左クリックイベントを設定したオブジェクト(調定作成)は、コマンドボタンですネ。

そうなんです、

>機能名に「開く」:機能パラメータに「Bフォーム.wfm」>って設定になってませんか?

それが確認したのですが、機能にはなにも入力されていませんでした。
それで、以前教えて頂いたのを参考に次の用に修正してみたのですが、
「KU1062:ウインドウはすでに割り当てられています」とエラーが出てしまいます。
どうしてなんでしょう。


名札 メイン
 var 数値{ &販売店 }
 var 数値{ &商品名 }
 var 局所 , 整数 { &end }
cond( .not#v( "商品win" ) ) var 固有 , 整数 { &商品win }
cond( .not#v( "販売win" ) ) var 固有 , 整数 { &販売win }



手続き定義開始 調定作成::マウス左クリック(長整数 &マウス位置[2],長整数 &明細番号,長整数
 &フラグ,参照 長整数 &処理中止)
  method @フォーム.更新モード設定( 0 )
  &販売店=[販売店]
  cond( .not&商品win ) フォーム呼び出し "Bフォーム.wfm",編集表=する
method @フォーム.更新モード設定( 2 )
手続き定義終了


cond( .not#v( "商品win" ) ) var 固有 , 整数 { &商品win }
cond( .not#v( "販売win" ) ) var 固有 , 整数 { &販売win }

cond( .not&商品win )

を追加しました。



25265 Re:イベントを使って絞り込みをしたいのですが 宮城 2004/03/05-14:33
記事番号25262へのコメント
しおさん、Maoさん、こんにちは。

私も「Maoさんに一票」と思ったのですが。と、なると・・・。

Bフォームの編集対象表がA表になってたりしませんか?

25269 Re:イベントを使って絞り込みをしたいのですが しお 2004/03/05-15:09
記事番号25265へのコメント
宮城さん、こんにちは
ご助言ありがとうございます。

>Bフォームの編集対象表がA表になってたりしませんか?

確認しましたが、Aフォームの編集対象表は、A.tblで、Bフォームの編集対象表はB.tblなんです。
イベント処理をやるときに、フォーム開始イベントとかが必要なのでしょうか?

25270 Re:イベントを使って絞り込みをしたいのですが Mao 2004/03/05-15:26
記事番号25262へのコメント
Maoです。

>手続き定義開始 調定作成::マウス左クリック(長整数 &マウス位置[2],長整数 &明細番号,長整数
> &フラグ,参照 長整数 &処理中止)
>  method @フォーム.更新モード設定( 0 )
>  &販売店=[販売店]
>  cond( .not&商品win ) フォーム呼び出し "Bフォーム.wfm",編集表=する
> method @フォーム.更新モード設定( 2 )
>手続き定義終了
>

cond( .not&商品win ) フォーム呼び出し "Bフォーム.wfm",編集表=する
    ↓
cond( .not&商品win ) フォーム呼び出し "Bフォーム.wfm"

Bフォームに設定している表を使用するのだったら
「編集表=する」は、いらないと思いますが?


25272 Re:イベントを使って絞り込みをしたいのですが しお 2004/03/05-15:58
記事番号25270へのコメント
Maoさんありがとうございます。

>cond( .not&商品win ) フォーム呼び出し "Bフォーム.wfm",編集表=する
>    ↓
>cond( .not&商品win ) フォーム呼び出し "Bフォーム.wfm"
>
>Bフォームに設定している表を使用するのだったら
>「編集表=する」は、いらないと思いますが?

,編集表=する を削除したら、無事Bフォームを開くことができました。
ありがとうございます。
あとは、絞り込むだけと思い、Bフォームに次のようなイベント処理を書いたのですが・・・
まったく絞り込みができません。Aフォームで選択した、[販売店](数値)でBフォームの[販売店]が絞り込めません。
正確にはには絞り込んでいるのですが、[販売店]10の値を選択してBフォームに飛ぶと、
[販売店]10のデータがあるにもかかわらず、なにも表示されません
(F11を押すと全てのデータが閲覧できるのですが)
下のようなイベントを、Bフォームに作成したのですが。なにか処理が足りないのでしょうか?


名札 メイン
 var 数値{ &販売店 }
 var 数値{ &商品名 }
 var 局所 , 整数 { &end }
cond( .not#v( "商品win" ) ) var 固有 , 整数 { &商品win }
cond( .not#v( "販売win" ) ) var 固有 , 整数 { &販売win }




手続き定義開始 フォーム::フォーム開始(長整数 &表番号)
    絞り込み [販売店]{=&販売店}

手続き定義終了


※ ちなみに、 「cond( .not#v( "商品win" ) ) var 固有 , 整数 { &商品win }」ってどういった処理なんでしょうか?
「cond( .not&商品win ) フォーム呼び出し "Bフォーム.wfm"」と関係がありそうですが?よくわからずに、教えて頂いた
処理をまねているものですからm(_ _)m


25276 Re:イベントを使って絞り込みをしたいのですが たかし 2004/03/05-16:34
記事番号25272へのコメント
しおさん こんにちは、最後の部分だけですが。
英語表記での書き方は、シンプルでカッコいいですけども
理解できるまでは、たっかるいですけど日本語表記の方がはやいと思います。


>※「cond( .not#v  ( "商品win" ) ) var   固有 , 整数 { &商品win }」ってどういった処理なんでしょうか?

 「条件( .not#変数( "商品win" ) ) 変数宣言 固有 , 整数 { &商品win }」

&商品win の変数が宣言されていなければ、&商品win という変数を宣言します ということです。
25277 Re:イベントを使って絞り込みをしたいのですが Mao 2004/03/05-17:09
記事番号25272へのコメント
しおさん、たかしさんとダブりますが、


cond( .not#v( "商品win" ) ) var 固有 , 整数 { &商品win }

は、変数 商品Winが存在しなければ 商品Winを定義しますということだと思います。
どうゆう関係で記述しているかは、皆目検討がつきません。あしからず。

で本題ですが

******Aフォームイベント

名札 メイン
 var 数値{ &販売店 }
 var 数値{ &商品名 }
 var 局所 , 整数 { &end }


手続き定義開始 調定作成::マウス左クリック(長整数 &マウス位置[2],長整数 &明細番号,長整数
 &フラグ,参照 長整数 &処理中止)
  method @フォーム.更新モード設定( 0 )
  &販売店=[販売店]
  フォーム呼び出し "Bフォーム.wfm",編集表=する
method @フォーム.更新モード設定( 2 )
手続き定義終了

***********

******Bフォームイベント

名札 メイン



手続き定義開始 フォーム::フォーム開始(長整数 &表番号)
    絞り込み [販売店]{=&販売店}

手続き定義終了

************

でいいと思いますが。
これでダメなら、
とりあえず&販売店の下行に

確認 #str(&販売店)

を付け加えるとか 変数管理で

希望する値が入っているか確認してみて下さい。
25278 Re:イベントを使って絞り込みをしたいのですが Mao 2004/03/05-17:10
記事番号25277へのコメント
フォーム呼び出し "Bフォーム.wfm",編集表=する

編集表=する

は、いらないのでした。

25282 Re:イベントを使って絞り込みをしたいのですが 宮城 2004/03/06-09:03
記事番号25278へのコメント
みなさん、すみませんでした。

安易に既存KEVを流用した私のミスですね。ご迷惑をおかけしました。

戻る