• 締切済み

【ACCESS2000】 サブフォーム同士の値のチェックを行いたい。

・メインフォーム 合計チェックボタン ・サブフォーム1 伝票番号,売上金額合計 ・サブフォーム2 伝票番号,明細行,売上金額 上記のような構成になっており、合計チェックボタンを 押したときに伝票ごとのサブフォーム1の売上金額合計がサブフォーム2の伝票番号でまとめた売上金額合計より、下回っているものがある場合はエラーメッセージを出したいと思っています。(できればその伝票番号もだしたい。) どのようにすればよいでしょうか。

みんなの回答

  • NorthMole
  • ベストアンサー率24% (20/82)
回答No.1

どこまでの機能を利用するか、どのようなフォームレイアウトかにも依りますが、 単純に、比較用のクエリーをマクロで走らせるなり、VBAによる比較を行なうなりを、 合計チェックボタンを押したときにおこなったらいかがですか? もっとも、単純にサブフォーム1とサブフォーム2のレコードソースが別で、一括して比較したいのであれば、これしかないと思いますが。

7_11shop
質問者

補足

ご解答ありがとうございます。 クエリ+VBAでうまくいきました。 もし、可能ならば、クエリで表示された伝票番号を メッセージボックスに表示したいのですが可能でしょうか。 クエリの実行結果 伝票番号  売上金額 売上金額合計  1     1000   1200  3     5000   70000 以上の結果から、 『伝票番号 1,3の売上合計数が売上金額を上回っています。』 というメッセージを出したいのですが。。

関連するQ&A

  • 【ACCESS2000】 サブフォームのフィルタ方法

    親フォーム メインメニュー 子フォーム1 売上ヘッダ 子フォーム2 売上明細 上記のようなフォームがあります。 親フォームには、主キーで伝票番号が振られています。 売上ヘッダの各行を選択するごとにその明細が下に出てくるという仕組みのフォームを作ろうとしています。 そこで質問があります。 基本的なことですが、子フォーム1にある伝票番号をキーとして、サブフォームのフィルタリングするにはどうすればよいでしょうか。

  • Access2000フォーム/サブフォームにつおて

    Access2000でフォーム/サブフォーム(売上伝票)を作っています。 フォーム(売上伝票メイン)には伝票番号、売上先などを入力・・・ サブフォーム(売上伝票サブ)は商品、数量、金額などを入力します。 そこで質問ですが、サブフォームの商品は商品コード(コンボボックス)を入力すると該当する商品名、単価などを商品台帳から引いてくる、としたいと思い、商品コードの「更新処理後」に以下のコードを記述しました。   Me![商品名] = DLookup("[商品名]", "[商品台帳]","[商品コード]= Forms![売上伝票メイン]![売上伝票サブ]![商品コード]")     サブフォーム上の商品名に商品台帳の商品名を入力するとしたつもりなのですが、何も表示されません。  単価も単位も同様です。  この方法ではだめなのでしょうか?  

  • アクセスのサブフォーム

    アクセス2000を使っているのですが、サブフォーム内に表示されている金額の合計をメインフォームに表示させる事は出来るでしょうか? またサブフォームを透明にして、メインフォームが透けて見えるようにはならないでしょうか? よろしくお願いします。

  • Accessでサブフォームの合計をメインフォームに

    Access2007で開発しています。 メインフォームにサブフォームを貼り付けており、 サブフォームに入力した「数量」「単価」から「金額」を計算して表示し、 その合計金額をメインフォームのテキストボックス(非連結)に表示しようと しています。 サブフォームは行単位で追加、削除が可能です。 サブフォームの更新結果が正しくメインフォームに表示されずに困っています。 おわかりの方、おられましたらお教え頂きたく、よろしくお願い致します。 【サブフォーム】   ・レコードソース:T_明細   ・[詳細]項目:数量・・・レコードソース=T_明細・数量        単価・・・    〃    =T_明細・単価        金額・・・数量および単価のAfterUpdateで計算して表示。    [フォームフッター]項目:金額計・・・コントロールソース=Sum([金額])   ・Vbaコード:   Private Sub Form_AfterUpdate()   Forms![メインフォーム].合計計算   End Sub   Private Sub Form_Delete(Cancel As Integer)   Forms![メインフォーム].合計計算   End Sub 【メインフォーム】  ・テキストボックス:「合計金額」(非連結) Public Sub 合計計算()    Me.サブフォーム.Requery   方法1: Me!合計金額 =DSum("金額", "T_明細", (キー項目指定 記述省略))   方法2: Me!合計金額 = Me![サブフォーム].[Form].[金額計] End Sub ここで、 方法1の場合:数量、単価の変更入力及び行追加は正しく動作するが、          行削除の後、メインフォームの「合計金額」が再計算されず、変更前のまま。 方法2の場合:数量、単価の変更入力及び行追加すると、「合計金額」が”0”になる。          行削除しても「合計金額」は変わらず、変更前のまま。 どちらも、サブフォオームの「金額計」は正しく表示されています。 以上、よろしくお願い致します。

  • access2007 サブフォームのエクスポート

    担当営業・売上月度別のデータを抽出用フォームを作成しました。 メインフォームでは担当を選択するためのコンボボックスと 売上月度を選択するためのコンボボックスを配置しています。 サブフォームはメインフォームで選択された条件の明細が 表示される設定となっています。 このサブフォームに表示された内容をエクセルにエクスポート させたいのですが、メインフォームにボタンを配置しても メインフォームの担当と売上月度の日付のみが エクスポートされるだけでサブフォームの内容がなに一つ エクスポートされません。 担当・。売上月度で抽出されたサブフォームの内容を エクスポートするにはどうすれば良いでしょうか? ご指導の程、宜しくお願い致します。

  • Access2013 vbaサブフォームのレコード

    [Access2013 vba] ■したいこと サブフォームのレコードの中から、一レコードだけをチェックボックスなどで選択したいのですが、どのようにしたら出来ますでしょうか。 複数行選択は出来ないようにしたいです。 選択したのち、メインフォームの選択ボタンを押すと、そのレコードのID番号を取得して、呼出元のフォームのIDフィールドに代入したいです。 ■画面の流れ・・・ Aフォーム → 帳票型Bフォームで、レコードを選び「開く」ボタンを押す→ B 'メインフォームとCサブフォーム)が開く Cサブフォームのレコードをチェックボックスにチェックを入れて選択する B ' メインフォームの「選択」ボタンを押すと B ' メインフォームと、その前のBフォームが閉じて Aフォームに戻り、AフォームのIDフィールドに選択したIDが格納される。 よろしくお願いします。

  • Accessのサブフォームの累計について

    とても初歩的な質問で申し訳ありませんが、誰か教えて下さい。 売上メインフォームの中に 「Aの商品のサブフォーム」 「Bの商品のサブフォーム」 「Cの商品のサブフォーム」 「Dの商品のサブフォーム」 と作ってあります。 各小計はメインフォーム内に出しております。 メインフォームの累計をフォームフッターに出すのですが、A~Dの商品の売上が無い場合(小計が出ない場合) フォームフッターの累計に合計が反映しません。 どのような式を入れれば、良いのでしょうか? どなたか教えて下さい。

  • Access2003 サブフォームについて

    サブフォームを持つ画面で 親子テーブルを共に更新しようとしていて挫折しかかっています。 そこで皆様の知恵を借りれれば幸いです。 <<画面表示>> メインフォーム…受注  ┗サブフォーム…受注明細 <<更新条件>> ・メインフォームは変更可能 ・サブフォームは追加、変更、削除可能 ・サブフォームのデータ変更時  →受注明細テーブルを更新しない ・メインフォームのデータ更新時  →受注テーブルを更新しない ・メインフォームの更新ボタン押下時  →受注テーブル、受注明細テーブルを更新 <<質問>> 1.サブフォームの値をテーブルへ  自動更新(項目変更時に付随更新)せずに  任意更新(ボタン押下時など)出来ますか?  [サブフォームに主キー項目を設置せず行追加すると Not Null制約で怒られます。] 2.VBで言うところのFlexGridの様にサブフォームを  制御出来ますか?  RecordSourceを使うのではなく、  VBA内で持っている値を各セルに設定する 3.そもそも同一画面内で親子テーブル共に更新することは  有り得ないことなんでしょうか?

  • アクセス2003のサブフォームの値の代入

    アクセス2003でメインフォームにデータシートビューのサブフォームを作成しています。 そのサブフォームのフィールドにイベントで検索用の別のフォームを開くようにしています。 検索用フォームからサブフォームへマクロで値を代入するように しているのですが、サブフォームが見つからないというエラーが表示されます。 どこに問題があるのでしょうか? (ちなみにサブフォームだけ開いて検索フォームを開き値を代入するとうまく行きます。メインフォームからだとエラーになります。) どうぞよろしくお願いします。

  • access2007でのサブフォームへの入力

    仕入入力画面なんですが メインフォーム(仕入伝票テーブル)サブフォーム(仕入伝票明細テーブル) という構成です。 メインフォームで 仕入先をコンボボックスで指定すると サブフォームの 商品を入力するコンボボックスに メインフォームで選択した仕入先で購入できる商品が選べるように したいのですが、どうすればよろしいでしょうか? メインフォームの仕入先コンボボックスを選択する度に サブフォームの商品コンボボックスで選択できる内容を反映させたい です。 仕入先A : 商品1 商品2 仕入先B : 商品3 商品4 商品5 仕入先C : 商品6 商品7 商品8 商品9 メインフォームで仕入先コンボボックスで仕入先Aを選択すると サブフォームで選択できる商品コンボボックスは商品1と商品2 メインフォームで仕入先コンボボックスで仕入先Bを選択すると サブフォームで選択できる商品コンボボックスは商品3と商品4と商品5 というようなイメージで作りたいです。 どうかよろしくお願いします。

専門家に質問してみよう