過去の桐井戸端BBS (桐ver.8) |
4374 | 行削除、行訂正についてメインフォームに設けたコマンドボタンでサブフォームを操作したい | Rockey | 2000/1/30-18:06 |
桐v8sp2です 御質問します。 メイン&サブフォームにチャレンジしましたが、 コマンドボタンをメインフォームにつけ コマンドボタンを押したらサブフォームを 操作される方法、たとえば、売上伝票を例にして サブフォームに商品名、単価、数量などを操作できる 様にして、メインフォームのコマンドボタンの "行追加"ボタンを押したら、サブフォームの最後に 行追加するモードになる。 同様に行削除、行訂正などもメインフォームに 設けたコマンドボタンでサブフォームを操作するには どうしたらよいでしょうか? サブフォームにコマンドボタンをつければ 可能なのでしょうが.... ちなみに、KEVでサブフォームにフォーカスを移し、 行追加をするようにしても、メインフォームの 行追加になってしまいます。 桐のHELPを探してもサブフォームからメインに フォーカスを移すには&hwindowとありますが、 その逆が見当たりません。 よろしくお願いします。 | |||
4375 | Re:メイン&サブフォームについて | 悲しげ | 2000/1/30-19:25 |
記事番号4374へのコメント どもっ、Rockeyさん、 この件は書くと長くなりますので、手抜きします。(^^;) 【多遊】さんのホームページ(このHPにもリンク有り) の「観験桐(ダウンロードコーナ)」のNo37の中に補足 説明文が同梱されていまして、その中で延々と記述して ありますので参考にして下さい。 |
4383 | 悩みのメイン、サブフォーム | Rockey | 2000/1/31-10:39 |
悲しげ様、長編を読ませていただきました。 method @サブフォーム.@ボタン.実行() これがポイントでしたね。 私は method でフォーカスをサブフォームに移して method @ボタン.実行()としてみたのですが "手続き実行のネストが深すぎます"と わけのわからないエラーがでてどうしたものか 悩みました。 おかげさまでわかりました。 ありがとうございました。 メイン&サブフォームで不便(?)なところは メイン部を削除してもサブフォームのデータは そのまま残ってしまうので、KEVで該当する サブフォームのデータを削除しないと余分なデータが 残ってしまいますよね? また、メイン部が訂正されたときはサブフォームの リンクが変わってしまうのでこれはどう解決 したら良いものか..... やはり画面伝票形式にした方が良いかと またまた悩んでしまいました。 皆様いかがでしょうか? |
|||
4409 | Re:メイン&サブフォーム(続) | 悲しげ | 2000/02/02-21:01 |
記事番号4383へのコメント どもっ、Rockeyさん、 一昨日の件なんですが、随分前のコメントのような 感じですね。(^^;) いえ、それだけこのHpが盛況だってことなんですが。 このHpは今現在、桐については日本一、否、世界一 ホットなサイトですからね。(^^)v さて、 >メイン&サブフォームで不便(?)なところは >メイン部を削除してもサブフォームのデータは >そのまま残ってしまうので、KEVで該当する >サブフォームのデータを削除しないと余分なデータが >残ってしまいますよね? う〜ん、この辺りまではまだ試していないのですが、 メイン部のデータとサブ部のそれは、それぞれ独立 した別表となっていますから、メイン部を削除した 場合は、サブ部の該当データも削除しておかないと 整合性が崩れてしまいます。この辺りは自動的に削 除するような仕様には桐はなっていないので、ユー ザ側で意識的に実行する必要があるでしょうね。 >また、メイン部が訂正されたときはサブフォームの >リンクが変わってしまうのでこれはどう解決 >したら良いものか..... これも同様で、リンクの整合性を保持するためには、 サブフォームのグループ項目値も、メイン部データ の値でもってグループ値訂正しておく必要が出て来 ることになると思います、これも意識的に。どのよ うなタイミングで行うのが妥当なのかは、そのうち 色々調べてみようと思ってはおります(あくまで、 そのうち)。 >やはり画面伝票形式にした方が良いかと >またまた悩んでしまいました。 画面伝票の方は、そもそもがひとつの表ですから、 この辺りは自動的に行われると思います。ただ、 Win桐の画面伝票はヘッダ部で扱える項目がかなり 制限されているのが辛いところですね。 どちらがよいかは、色々お試しの上、結果をまた 教えて下さい。 |
|||
4415 | 参照整合性を定義してみては | su | 2000/02/03-11:26 |
記事番号4383へのコメント Rockeyさんこんにちは。悲しげさんいつもお世話になっています。 メインフォームのデータが削除されたならば、サブフォームのデータも削除するに は、参照整合性を定義すればよいのではと思います。 メインフォームの表および、サブフォームの表を桐ファイルパレットの定義から開 き、それぞれ主キーを設定ます。その後、ツールの中の参照整合性により、メイン フォームとサブフォームが関連づけられている項目をつなぎ、「主キーを削除する とき」「参照項目も削除する」の設定にします。 おそらくこれで目的が達成されると思います。 |
|||
4419 | Re:参照整合性を定義してみては | 悲しげ | 2000/02/03-18:13 |
記事番号4415へのコメント どもっ、suさん、 参照整合性ですね。なるほど、ようやくわかりました。 いえ、恥かしながら、私はこの参照整合性定義ってのは、使った ことがありませんでした。(^^;) 実は桐ではなくて他の某DBMSに関してなんですが「参照整合性は 使い物にならないので、これを敢えて設定せず、主キーの削除な り変更なりに対してはゴリゴリとプロシージャを記述して対応す ることにした……」云々との話を聞いたことがあったので、私も その頭があり、桐でも同様の考えでおりました。 この度、初めて試してみて、ようやくその仕組みを認識できた次 第であります。(^^;) >メインフォームの表および、サブフォームの表を桐ファイルパレ >ットの定義から開き、それぞれ主キーを設定します。 >その後、ツールの中の参照整合性により、メインフォームとサブ >フォームが関連づけられている項目をつなぎ、 ただし、上記のとおりではできませんでした。え〜、サブの表に おいては、リンク項目はグループ項目となるものでしたから、重 複禁止たる「主キー」は設定できませんでした。「主キー」は、 この場合、メインの表だけでしたね。(^^;) あと、参照整合性定義のやり方も、メニューバーの「ツール」か ら行う方法(ドラッグして線で繋ぐ)と、サブの表定義時にツー ルバーの「表+鍵」マークから項目指定する方法の2種類があり まして、私はどちらかと云うと後者の方が判りやすかったです。 と云うか、前者のやり方が判るのにエラク時間がかかりました。(^^;) さて、と云う訳で、設定して試してみましたが、これって面白い ですね。テストにおいては、メイン&サブフォームではなく、二 つの独立した表だけで試してみました。参照整合性定義に当たっ ては、当然「主キーを削除する時→参照項目も削除」、「主キー を更新する時→参照項目も更新」としてあります。 1)メイン表の1行を削除→サブ表の当該グループも自動的に削 除された。 2)メイン表の1行の主キー値を変更→サブ表の当該グループ項 目値も自動的に更新された。 3)削除行の復活テスト。メイン表が削除状態のまま、サブ表の 当該グループ行を復活させようとした→参照整合性のため不可。 うん、この挙動は正しいです。ただし、メイン表の削除行を復活 してもサブ表の当該グループ行は自動的には復活しなかったです、 ま、いいけど。(^^;) と云う訳で、Rickeyさん、これって面白いですよ。メイン&サブ フォームで実際に試してみて下さい。私もそのうち挙動の安定性 とか試してみます。 suさん、どうもありがとうございました。 |
|||
4421 | Re:参照整合性を定義してみては | Rockey | 2000/02/03-19:15 |
記事番号4419へのコメント > >と云う訳で、Rickeyさん、これって面白いですよ。メイン&サブ >フォームで実際に試してみて下さい。私もそのうち挙動の安定性 >とか試してみます。 > いやー、私もわからなかったです。 参照整合性ですか、てっきり結合表に 使うものかと思って、使おうとはしませんでした。 悲しげさん> 確かに面白いですね、 それにバッチリうまくいきました。 SUさん> ありがとうございました。 実は、メイン&サブは始めてチャレンジしたような もので、使いこなすには厄介かなと思っていました。 でも、わかってみればなかなかいいですね。 またよろしくお願いします。 |