過去の桐井戸端BBS (桐ver.9)
21718 メイン&サブフォームでサブフォームにグループ追加ボタンを作りグループ追加をしたい 宮田 2003/08/01-22:40
宮田です。
メイン&サブフォームでご指導ください。

表 伝票.tblには、
[伝票番号][得意先名][年][月][日]の項目があります。

表 明細.tblには、
[伝票番号][得意先名][年][月][日][品名][規格][数量][単価][販売金額][備考]
の項目があります。

まず、伝票.tblの表で[年][月][日][伝票番号][得意先名]を
カード型フォーム
伝票.wfmで入力します。

入力が終了すると、メイン&サブフォームに切り替えます。

メインは、伝票.tbl
サブ は、明細.tbl です。

メインは、カード型です。
サブは一覧表フォームです。

サブのグループ項目
[年][月][日][伝票番号][得意先名]は非表示としています。
グループ追加ボタンをつくり、
[品名]を入力し
明細行へ移動し
[規格][数量][単価][販売金額][備考]と入力したいのですが、
グループ追加のボタンが、使用できません。
グレーになっています。
どうすれば、サブのグループ追加ができるでしょうか?
少々わかりにくい説明になってしまいました。
よろしく、ご指導ください。
21726 Re:メイン&サブフォームでご指導ください。 悲しげ 2003/08/02-00:07
記事番号21718へのコメント
どもっ、宮田さん
このようなメイン&サブフォームの場合、メインとサブをリンクさせることで処理します。
この場合、そのリンク項目は[伝票番号]となるはずです。

メインの表の項目が
  [伝票番号][得意先名][年][月][日]
であるとすれば、

サブの表の項目は
  [伝票番号][品名][規格][数量][単価][販売金額][備考]
だけとします。
つまり、[得意先名][年][月][日]項目はメインの表の方で持たせるので、
サブ表では不要と云うことです。
したがって、サブ表のグループ項目は[伝票番号]ひとつとします。

で、リンクはどうするのかと云うと、メインwfmの「サブフォーム」タブの「グループ値リスト」でもって、
この[伝票番号]を指定する訳です。

かくして「サブのグループ追加」はそれを実行する必要がなくなります。
メインの方のカードにおいて新たな[伝票番号]を追加することで、
自動的にサブwfmで当該伝番のグループが追加されますから。

21738 Re:メイン&サブフォームでご指導ください。 宮田 2003/08/02-14:18
記事番号21726へのコメント
悲しげさんどうもご指導ありがとうございます。
私の説明不足でした。

サブフォームでグループ追加処理が出来ないかとの質問なんです


21739 Re:メイン&サブフォームでご指導ください。 悲しげ 2003/08/02-15:28
記事番号21738へのコメント
>サブフォームでグループ追加処理が出来ないかとの質問なんです

う〜ん、意味不明です。(?_?)
先にも書いたように、メイン&サブフォームで、メインの方のある
項目値とサブのグループ項目でリンクしてあれば、
サブのグループ追加はメインの方の行追加と云う形で実現されると思います。

あえて、サブwfmの方だけをグループ追加しようとしたら、
追加されたその新しいグループは、メインwfm上の新しいレコードに所属する
必要があるので、元の木阿弥と云うか、レレレ状態になるような気がします。

つまり方向としては、メインの追加→サブへの反映であって、
その逆であるサブのグループ追加→メインへの反映はないのではないか?

その意味で、もし上記に直接答えるならば、「出来ない」になるのではないでしょうか?
(正しくは「その必要はない」だと思いますが)

ただし、もしメインとサブが全くリンクしていない形であれば可能なのかどうかは試してはいません。
でも、例えばメインが、伝番:100/
得意先:宮田/日付:8月1日であって、サブが伝番:200/得意先:悲しげ
/日付:7月30日であるようなデータをメイン&サブで同時表示しても
意味があるのかな、と云うことで試す気にもならないです。(^^;)

と云う訳で、何だか変なので、要するに質問の意味が理解できません。
何のためにサブ(だけ?)のグループ追加をしたいのでしょう?

21743 Re:メイン&サブフォームでご指導ください。 宮田 2003/08/02-17:14
記事番号21740へのコメント
悲しげさん、説明がうまくつかなくて申し訳ありません。

メインで[伝票番号][年][月][日][得意先名]
サブはグループ項目が[伝票番号][品名]なんです。

伝票番号のみをリンクして、次にグループ項目の[品名]を入力して
明細に移動したいのです。

21745 Re:メイン&サブフォームでご指導ください。 しぼうかん 2003/08/02-18:05
記事番号21740へのコメント
宮田さん、こんばんは.

悲しげさんに成り代わりましてつっこみを一つ
悲しげさんは 説明がうまくつかない訳ではないと思いますが(^^;)

で、サブフォームに有る明細にはどんな項目があるのでしょうか?

サブフォームでグループ追加したいと言うことですが、
実はこのサブフォーム自体をメイン&サブフォームにしたらどうでしょうか?

そしてサブフォームの中のメインフォームの[品名]とサブフォームの中の
サブフォームの[品名]をリンクさせればいいのかも?

難しい事はよくわからないので、多分、大ハズレでしょうけど

21746 Re:メイン&サブフォームでご指導ください。 悲しげ 2003/08/02-19:03
記事番号21743へのコメント
う〜ん、どうも最初のものと項目名がすり変わってますよね。(^^;)

#21718で曰く
>メイン(伝票.tbl)には、
>[伝票番号][得意先名][年][月][日]の項目があります。
>サブ(明細.tbl)には、
>[伝票番号][得意先名][年][月][日][品名][規格][数量][単価][販売金額][備考]
>の項目があります。
>
>サブのグループ項目
>[年][月][日][伝票番号][得意先名]は非表示としています。

ところが、#21740-21743では
>メインで[伝票番号][年][月][日][得意先名]
>サブはグループ項目が[伝票番号][品名]なんです。
>伝票番号のみをリンクして、次にグループ項目の[品名]を入力して

いずれにせよ、メイン&サブのサブフォームにグループ項目を複数設けたいと云うことのようですね。
う〜ん、そのようことはやったことがないので、すいません、私には全く判りません。
もしかすると、#21718で曰く

>グループ追加のボタンが、使用できません。

とのことですから、そもそもできないのかもしれません。
あるいは、メインの方のリンク(グループ値リスト)の設定を
  [伝票番号],[品名]
のようにした上で、試してみたらどうなるか、ちょっと実験してみてはいかがでしょう。
〜〜〜〜〜〜〜〜〜〜〜cf.ヘルプ〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
【グループ値リスト】サブフォームのグループ項目値とリンクする際に
使用するデータを指定します。
項目名、変数名、定数、計算式が指定できます。
・サブフォームに複数の[グループ項目]オブジェクトを配置している場合は、
[グループ項目]オブジェクトの定義順でデータを指定します。各データはコンマ(,)で区切ります。
  (例) [学年],[組],[出席番号]
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

ところで、何のために[品名]もグループ項目にするのですか?

21748 Re:サブフォームのグループ追加 bonito 2003/08/02-20:14
記事番号21746へのコメント
どもっ...て (^^; 久しぶりの登場です。

サブフォームグループ追加のボタンが、使用できない理由

その1.
メインフォームのオブジェクトの属性ダイアログの
サブフォームタブで上から4行目にある「グループ操作」が
"禁止"になっている。(当然"許可"にすべき)多分可能性大!
(私はほとんど許可して手動でもサブフォームのグループの
移動が可能なようにしている...追加は今回初めて...してみました)

その2.
サブフォームのオブジェクトの属性ダイアログの
編集対象表タブのやっぱ上から4行目にある「更新」が
"しない"になっているケース。(当然"する"にすべき)

多分どちらかだと思うんですけど...

今回このテストをしてみて発見した事
(これはまぁ当然というか正当な動きなのですが...)
グループ追加実行(入力)中はリンクに使用されているグループ
項目へのフォーカスは飛ばす(キー操作禁止のような動き)、
宮田さんのケースだと[伝票番号]は飛ばして[品名]の入力状態になります。
([伝票番号]がより後面に配置されていても)
でもマウスクリックすれば[伝票番号]にも入れなくない...
フォーカス禁止の方がよりGoodな気もするが、グループ指定等値の変更をともなわない
他のグループ操作との兼ね合いもあるのかも知れません?

そしてそしてグループ値訂正はX...まぁその方が無難でしょうか?

21751 Re:サブフォームのグループ追加 bonito 2003/08/03-09:08
記事番号21748へのコメント
本筋とは関係ないが間違った記述を発見 (^^;
訂正しておこうっと...

誤/
([伝票番号]がより後面に配置されていても)

正/
([伝票番号]がより前面に配置されていても)

戻る