過去の桐井戸端BBS (桐ver.8)
6127 フォーム対象表の変更 初心者 2000/05/24-07:27
また、よろしくお願いします。桐8です。
A.WFMの編集対象表をA.TBLに設定して作成しています。
通常はA.TBLが編集対象表でいいのですが、ある場合だけ
B.TBLに変更してフォーム入力に入りたいのですがどうすればいいのでしょうか?
このA.WFMは、フォーム呼び出しコマンドから開きたくありません。
よろしくお願いします。
6131 Re:フォーム対象表の変更 悲しげ 2000/05/24-11:08
記事番号6127へのコメント
どもっ「初心者」さん、
他に「桐初心者」さんと云う方も現れましたから、そろそろハンドル名が、
例えば「中級者」とかに進化すべき時期なのかもしれませんね。(わらひ)

それはさておき、フォーム呼出しから開きたくないとは困りました。(^^;)
よろしければ、なぜそうしたいのか、参考のために教えて下さい。
             /悲しげ(別名:モーダル命)  (^^;)

ps:こっちが本題

1)フォーム呼出しを使うなら(^^;)
  表 "b.tbl",……    (または編集表 "b.tbl")
  フォーム呼出し "a.wfm",編集表=する……
でいいかもしれない(が、試してません)。

2)オブジェクト操作
kevでの編集対象表の変更は、「オブジェクト操作」コマンドを使えます。
この場合、「フォーム開始」時点では既にフォームで定めた対象表が開いてしまっていますから、
それ以前、即ち「メイン」部に記述します。
私はこれが判るのに何週間もかかりました。

3)フォーム呼出しを使わない
「ウィンドウ作成」コマンドまたはコマンド釦「開く」を使う。
この場合、開いたa.wfmが陰に隠れてしまった時にどうするかの対策は要検討です。
そしてそのためには、それ以前のwfmも全て非モーダルである必要がありそうです
(この辺り、どうやっていいか判らないので、私は全てモーダルを使ってるんですが)。
ところで、コマンド釦「フォーム選択」(「表示」内にある)
ってのは使えるんだろうか?

いずれにせよ、現在のフォームはa.wfmではありませんよね?
現在のフォームの編集対象表を変更することは不可能だったような気がする。(いや、自信はないです)
あるいは、現在のフォームの編集対象表もb.tblだとすると、新たに開くa.wfmでは多重化表を許可しておく必要あり。

以上、実験結果を教えて下さい。

6137 Re:フォーム対象表の変更 中級者 2000/05/24-12:09
記事番号6131へのコメント
どうも、悲しげ大先生。お言葉に甘えて「中級者」を名乗ります。(^^;)
(いいんかなぁ?)

さて、本題ですが
1)のフォーム呼び出しの方法で可能なのは分かってました。
2)の方法でメイン部に オブジェクト操作 @フォーム.編集対象表 = "B.tbl" 
 を入れたのですが、使用できない文字です とエラー
 はて、記述が悪いのか?

メニュー.WFM(対象表なし .AND notモーダル)のコマンドボタンに
開く"A.WFM"
閉じる を設定してます。A.WFMのメイン部イベントに上記の2)を記述したのです
が・・・

このA.WFMをモーダル化したくないの理由は、表形式の編集も、A.WFM
から呼び出したい為です。
2週間ほど前までは「表形式なんかいらねー、全部フォーム作ってやる」
と意気込んでましたが、あまりのバカらしさと多少の挙動不信で
「モーダル拒否症候群」に感染したようです。
モーダルは最終手段的に使うことにしました。

2)の記述方法についてもう少し教えてください。

P.S モーダルから印刷時の会話=するにすると、なんか動作変になる場合
  ありません?(必ずではないですけど)

6138 Re:フォーム対象表の変更 悲しげ 2000/05/24-15:00
記事番号6137へのコメント
どもっ、中上級者さん(^^;)
「使用できない文字です」エラーは私も時々出します。
例えば、そのまんま貼りつけて
 オブジェクト操作 ハンドル= @フォーム.編集対象表 = "B.tbl"
と書いてあった時とか。(^^;)
念のため説明しますと、「ハンドル=」と書いてはいけないと云う
ことを云っている訳ではありませんよ、「=」の後が空であるから
文法違反と云うことで。

それとは別に、メイン部において

 オブジェクト操作 ハンドル=&hwindow,@フォーム.編集対象表 = "B.tbl"

と書いても、今度は「無効なウィンドウハンドル」云々とエラーが出ます。ここで

 オブジェクト操作 @フォーム.編集対象表 = "B.tbl" 

のようにハンドル無指定にすると、対象表を変更できるのが不思議です。
これって偶然発見しました(一応、釦「開く」でも挙動確認済)。
この仕組みに気づくまで私は、編集対象表を異にするwfmは、別wfm
として作っておいたものを呼び出していました。

6145 Re:フォーム対象表の変更 佐田 守弘 2000/05/24-23:48
記事番号6138へのコメント
中級者さん、悲しげさん

悲しげさんの方法でフォームの対象表を切り換える事も可能かとは思いますが、
異なる表にはそれぞれべつのフォームを用意して、フォームと表を1対1で対応させる方が
分かりやすくてよいかとも思います。
フォームファイルをコピーして、対象表だけを直せば済む話ですので。

佐田守弘(KS-00119)

6147 Re:フォーム対象表の変更 中級者 2000/05/25-07:00
記事番号6145へのコメント
悲しげさん、ハンドル消したらばっちりでした。
佐田さん、確かにそうかもしれないですけど自分がしたいのは
"a.tbl"の枠組みだけ"b.tbl"に書き出しして、それに対し操作をさせたい処理があるんです。
それでこの質問となりました。

さて、次はレポートの表切り替えだが無理っぽいなぁ
6149 Re:レポート対象表の変更 悲しげ 2000/05/25-12:36
記事番号6147へのコメント
どもっ、中級者さん、

>さて、次はレポートの表切り替えだが無理っぽいなぁ

  レポート印刷 …,編集表=する

でどこまで可能か、ちょっと試して結果を教えて下さい。

ちなみに私は、メイン&サブrptでサブrptだけを変更しようと
思いましたが、「編集表」自体はメインrpt部を指すため、
これを断念、別rptを使うことにしました。
よって、メインrptのみのものでは、編集表パラメータは試してないのです。
6150 Re:レポート対象表の変更 中級者 2000/05/25-13:56
記事番号6149へのコメント
>  レポート印刷 …,編集表=する
これやったんですよ・・・、結果は×

>ちなみに私は、メイン&サブrptでサブrptだけを変更しようと
>思いましたが、「編集表」自体はメインrpt部を指すため、こ
>れを断念、別rptを使うことにしました。よって、メインrpt
>のみのものでは、編集表パラメータは試してないのです。

複合以外ならOKすね。複合レポートは指摘の通り。
サブ表も対象変更できないとツライっす。

複合レポートは設計時に対象表をワークファイルに設定しておいて
印刷前に該当データをワークファイルに書き出しの方がいいみたいっすね。
結合表あたりを使えば別の方法もありそうですが、今のところ??
まぁ、やり方は人の好き好きでしょうが。

複合レポートは最悪っすね。条件設定だけで混乱します。
なんで、単票ベースなんだ?
伝票フォームのヘッダが自由に設計できれば、複合フォーム
を使うのは減ると思うんですけどねー。
レポートは桐5が分かりやすかったような・・・。

6153 Re:レポート対象表の変更 悲しげ 2000/05/25-18:30
記事番号6150へのコメント
どもっ、中級者さん、

>複合以外ならOKすね。複合レポートは指摘の通り。

確認させていただきますと、
メイン部のrpt、云い換えれば「ファイル属性」で設定してある
対象表なら、

>>  レポート印刷 …,編集表=する

で、対象表の切り換えは可能となる。
それ以外の、つまり複合rptでサブ的なrptに当たるものだけは
不可能と云うことでよろしいでしょうか?

>複合レポートは設計時に対象表をワークファイルに設定しておいて
>印刷前に該当データをワークファイルに書き出しの方が
>いいみたいっすね。

どうやら私と同じことをやっているような感じですね。(^^;)
私もサブrptの対象表は作業表を指定しています。
で、データは、印刷前にkevの記述でその表に書き出ししたものを印刷させていますが、
やはり苦しい感じがしますね。
ただ、DOS桐ではサブrptは利用できませんでしたから、
ちょっと(どころかかなり?)複雑ですが、アドバンテージはやはりあると私は思います。
6159 Re:レポート対象表の変更 中級者 2000/05/27-06:11
記事番号6153へのコメント
>それ以外の、つまり複合rptでサブ的なrptに当たるものだけは
>不可能と云うことでよろしいでしょうか?

私はそうとらえました。違っていたら、どなたか教えてください。

>私もサブrptの対象表は作業表を指定しています。で、データは、
>印刷前にkevの記述でその表に書き出ししたものを印刷させてい
>ますが、やはり苦しい感じがしますね。

今後に期待といった所でしょうか

戻る