過去の桐井戸端BBS (桐ver.9)
20592 2つの表を1つのフォームで共有して使用するときコマンドボタンの機能名とパラメータの記述のしかたがわからない HOSHI 2003/05/27-16:38
一括処理からの移行でつまずいています。
"A.TBL","B,TBL",・・・のそれぞれの表を、"あ.FWM"のフォームを共通して使用したいのですが、
どのように記述したらよいのかご教示をお願いします。

機能名    パラ
開く     A.TBL

で表は開くのですが後がわかりません。
よろしくおねがいします。

20594 この方法ではフォームの供用はできません 佐田 守弘 2003/05/27-22:19
記事番号20592へのコメント
HOSHIさん
■コマンドボタンの機能名で開く場合
コマンドボタンの機能名を使う方法では、1つのフォームを共用して複数の表を開く事はできません。

フォームには定義時に指定した編集対象表が決まっていて、フォームを開くと
自動的に設定されている編集対象表が開かれます。
従って、あ.frm、い.frmという様に、同じフォームを複数作り、それぞれに
A.tbl、B.tblを設定しておけば、機能名に「開く」、パラメータにそのフォーム名を指定する事で、
そのフォームから表が開かれます。

■フォームを共用して複数の表を開く
原則は表1つにフォーム1つを対応させるのが簡単ですが、ご希望の様に1つのフォームを共用するには、
ある程度の高等テクニックが必要になります。

そのまま使えるイベントは作れませんので、ポイントとなる部分を述べます。
これを参考にしてフォームとイベントを作って下さい。

●メニューのフォーム
コマンドボタンで次の様な一般手続を実行します。
 手続き定義開始 A()
  代入 &表名称="A.tbl" ← &表名称は共通変数で定義しておく
  フォーム呼び出し "あ.frm"
 手続き定義終了

●あ.frmのイベントファイル
メイン部分に以下のコマンドを記述します。
 オブジェクト操作 @フォーム.編集対象表=&表名称

編集対象表は、フォームのオブジェクト属性に設定されています。
フォームを開くと、まずイベントファイルが開かれるので、この時に実行される
メイン部分い上記のコマンドを記述しておけば、編集対象表が切り替わります。

佐田守弘(KS-00119)
20595 Re:ありがとうございました hoshi 2003/05/28-07:50
記事番号20594へのコメント
佐田 守弘さん
いつもお世話になっております。
やはり機能cmdではできないのですね。でもそれがわかってスッキリしました。
そのためにイベントがあるわけですから、あげていただいたイベントを参考にさせていただきます。
ありがとうございました
20596 Re:コマンドボタンの機能名とパラの記述について 今村 誠 2003/05/28-12:27
記事番号20592へのコメント
HOSHIさんこんにちは、編集表の入れ替えは佐田先生の方法で行っていただいて、
手続きでなくコマンドボタンで開いた方が切り替えやすいと思います。

>"A.TBL","B,TBL",・・・のそれぞれの表を、"あ.FWM"のフォームを共通して
>使用したいのですが、どのように記述したらよいのかご教示をお願いしま
>す。
>
→ 機能名    パラメータ
1:なし   #set(FileName,"A.tbl")
2:開く   "あ.FWM"

開くでなく、モーダルフォームでもいいと思いますが、閉じないとメニューに戻れません。
&FileNameはメニューフォームのメイン部で共通か固有で
変数宣言しておいてください。
開くフォームのメイン部で
  オブジェクト操作 @フォーム.編集対象表 = &FileName
※フォームは半角で記述すること※
開くフォームの編集対象表タブの参照表は記載して良いが
編集対象表は空欄にしておいた方がよいと思います。

戻る