- ベストアンサー
クエリ抽出条件を動的に変更する方法
- 顧客情報を入力するメインフォーム1に商品明細を入力するサブフォームの伝票作成用のフォームを作っています。
- 入力用にはフォーム1を使い、その後確定した伝票はメインフォーム2で扱いたいのです。
- 商品明細の内容は同じなので、クエリの伝票番号の抽出条件をフォーム1とフォーム2で動的に変更したいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
解釈が間違っているかもしれませんが、 >(サブフォームは選択クエリが元になっています) > 商品明細(帳票サブフォーム)の内容は同じなので、クエリの伝票番号(フィールド)の > 抽出条件を > フォーム1で開いた時に[forms]![フォーム1]![txt伝票番号] > フォーム2で開いた時は[forms]![フォーム2]![txt伝票番号] ということなので、メイン/サブフォーム間で関連付けが出来れば良いと考えます。 そこで、サブフォームに指定していたクエリの抽出条件から、フォームの参照を削除します。 つまり、サブフォーム単独では、全て表示できるようにしておきます。 ここで、サブフォームコントロールのプロパティの中に、 リンク親フィールド、リンク子フィールドがあります。 リンク親フィールドには、txt伝票番号 を記述し、 リンク子フィールドに、親の txt伝票番号 と関連付ける 伝票番号 を記述しておきます。 これにより、親の txt伝票番号 が変わると、その内容を 伝票番号 と解釈し、 サブフォーム内の表示が切り替わります。 イメージしていた動きは、上記で大丈夫だったでしょうか。どうでしょうか・・・
その他の回答 (1)
- oioi_douda
- ベストアンサー率35% (21/59)
そういうのが発生すること自体、正規化がまともにできていない。 設計からやり直し。
お礼
なるほど! 自分でもスッキリしない流れだと思っていました。 いろいろな方の見積り伝票のサンプルを元に作成しているのですが、 見積書までで終わっていまして・・・ その後、売上までの流れがいまいち分からず伝票情報テーブルに 伝票区分フィールドを設け 見積の状態の時には”見積” 売上をしたら”売上”を入れて区分しています。 請求書を発行する時に見積フォームとは別の請求書フォームから出力しようと思い 今回の質問になりました。 よろしけらば、その辺りの流れのヒントを頂ければと思いますので宜しくお願い致します。
お礼
丁重なレスありがとうございます。 >リンク親フィールドには、txt伝票番号 を記述し、 リンク子フィールドに、親の txt伝票番号 と関連付ける 伝票番号 を記述しておきます。 記述しようとしましたが"非連結フォームにリンクを作成することはできません" とエラーになってしまいます。 簡単に考えすぎて説明不足でした、申し訳ありません。 現在メインフォームに 1、請求先情報 2、自動車情報 と二つの情報がそれぞれのクエリから表示するようにしていまして・・・ さらにメインフォームとサブフォームのクエリが別なのでエラーになってしまうと思います。 もう一度最初から設計を考え直します、また必ず壁にブチ当たるので その時はまた宜しくお願い致します。 ありがとうございました。