• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Accessメインフォーム上へ計算結果の表示)

Accessメインフォーム上へ計算結果を表示する方法

このQ&Aのポイント
  • Access2003にて、台帳を作成しています。メインフォーム上にサブフォームを配置し、販売価格を入力すると原価の合計額から粗利益が自動計算される方法を教えてください。
  • サブフォームには受付番号、品名、原価の情報があり、メインフォームには販売価格と粗利益のテキストボックスがあります。
  • プロシージャを作成して、販売価格が変更されるたびに原価の合計額から粗利益を計算するように設定する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

#1です #1で、販売価格を入力した後のサブフォーム修正時について触れましたが、 レコードを削除する操作があるのなら、以下の記述も必要です。 Private Sub Form_AfterDelConfirm(Status As Integer)   If (Status = acDeleteOK) Then     Me.Recalc     Call Me.Parent.txt1_AfterUpdate   End If End Sub なお、#1でのフォーム構成は以下のものと大差はありません。 Access2003 メインフォーム上でサブフォームの合計値の求め方について http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1181932236 (理解できていれば・・・・理解されていたのか判断できませんが) この方法にチョッと手を加えるだけです。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.1

access2010のフォーム上で計算したいです http://okwave.jp/qa/q7079470.html 上記でのメイン/サブ構成をベースに考えてみます。 サブフォームには、総合計用のテキストボックス「txts1」があるものとします。 (非表示でも) メインフォームは テキストボックス名「txt1」コントロールソースは販売価格 テキストボックス名「txt3」コントロールソースは粗利益 サブフォームコントロール名は「FSUB」と仮定します。 テキストボックス「txt1」の更新後処理で粗利益を設定します。 Private Sub txt1_AfterUpdate()   Me.txt3 = Me.txt1 - Me.FSUB.Form.txts1 End Sub (「txt1」「txts1」が Null の場合があるのなら Nz() を使います) この場合、 ・販売価格の入力時には、サブフォーム内の入力が終了している事 の条件があります。 販売価格を入力した後でもサブフォームを修正したいのなら 上記の Private を Public に変更し Public Sub txt1_AfterUpdate()   Me.txt3 = Me.txt1 - Me.FSUB.Form.txts1 End Sub サブフォームの更新後処理に以下を記述します Private Sub Form_AfterUpdate()   Me.Recalc   Call Me.Parent.txt1_AfterUpdate End Sub 総合計を再計算させるために Recalc し、 メイン(親)フォームのテキストボックス「txt1」の更新後処理を実行します。 多分これで近い動きはできると思いますが、 参考にする/しない等々、自己責任でお願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Access メインフォームのリフレッシュについて

    Access2003 にて、下記の手順で処理するプログラムを作成しています。 メインフォーム(埋め込みサブフォーム ※データシートビュー 一覧表) →埋め込みサブフォームの対象のレコードセレクタをダブルクリック。 →別フォームを起動し、データ入力更新。別フォームを閉じる。 →メインフォームのリフレッシュ し別フォームで変更した内容を反映させたい。 メインフォームのリフレッシュを行いたいのですが、うまくいきません。 ■試してみたこと メインフォーム、サブフォーム、別フォームとあり、 1. 別フォームのデータ更新が終了したあと、 別フォームを閉じる直前にForms![メインフォーム名].requery をしてみた メインフォームは別フォームを開く前の状態と、変化なし 2. 別フォームのデータ更新が終了したあと、別フォームを閉じ サブフォーム内ロジックで、Forms![メインフォーム名].requery をしてみた メインフォームは別フォームを開く前の状態と、変化なし 3. 別フォームのデータ更新が終了したあと、別フォームを閉じ サブフォーム内ロジックで、Me.requery をしてみた メインフォームは別フォームを開く前の状態と、変化なし ----- いずれもメインフォームには変化はありませんでした。 出来れば、メインフォームにはForm_Loadした時と同じように 処理を走らせたい(メインフォームを閉じることなくフォームロードから処理を再開させたい) と考えています。 サブフォームを含め、メインフォームごとリフレッシュするような処理はないでしょうか。 ご存知のかた宜しくお願いいたします。

  • アクセス2010 サブフォーム集計結果を表示させる

    テーブルに連結したメインフォーム取引台帳があります。 メインフォームに、入金台帳と仕入金額予定表のサブフォームが2つあります。 それぞれのサブフォームにテキストボックスで合計を表示しています。 入金台帳が取引合計 仕入金額予定表が支払合計 この2つのそれぞれの合計をメインフォームの詳細にテキストボックスを追加して表示させ さらに集計するためのテキストボックス作って、下記の式を入れたら エラーが出てしまいます。 レポートではうまくできたのですが、計算結果を表示させる方法を教えてください。 原価率を表示したいのです。 =Sum([取引台帳レポートのサブ出金予定入力表].[Form]![支払合計]/[入金台帳入力用].[Form]![取引合計])

  • アクセス メインフォームからサブフォームを再クエリさせたい

    メインフォームのボタンからサブフォームを再クエリする場合に、ボタンのプロシージャーに書くVBAを教えてください。マクロで可能な場合はそちらもご教授いただけると助かります。 宜しくお願いいたします。

  • Accessフォームでデータ入力できない(初心者)

     テーブルにて各種データを入力して、それに基づいてクリエにて数式を使って2つの値を算出。 テーブル:原価、経費、利益率、商品名 クリエ:販売価格、利益金額  テーブル、クリエのすべてのデータを使ってフォームを作成したのですが、テーブル部分のデータをフォームにて入力・編集できません。テーブルのみを使ってフィールドを作成すると入力・編集できるのですが、クリエにて作成した「販売価格、利益金額」を表示できません。  フォームにテーブル、クリエのすべてのデータを表示でき、かつフォームでテーブルデータを編集できるようにするにはどのようにしたらよいのでしょうか。  当方、Accessはほとんど初心者のようなものです。すみませんが、よろしくお願いいたします。 Win7-64bit、Access2010

  • ACCESSで、メインフォームとサブフォームがあるとき・・・

    Accessで、メインフォームとサブフォームがあり、メ インフォームのテキストボックスで期間を指定し、再 クエリを行うマクロボタンでサブフォーム上に期間指 定したデータのみが表示されるようにしています。 また、Access起動時に開くフォームがあり、そのフォ ームに、先ほど上述したメインフォームが開くマクロ ボタンを作成したところ、パラメータの入力画面が出 てきてしまいました。 恐らく、サブフォームの抽出用のクエリに設定してあ るものだと思いますが、これが表示されないようにす ることは出来ないのでしょうか?

  • アクセスのサブフォームからメインフォームへキーで切り替えをする

    何度もお世話になっております。m(_ _)m アクセスのフォームで、サブフォームを作成しています。 EnterキーまたはTabキーで、フォームの中を進んでいくと、メインフォームのフィールドからサブフォームのフィールドへ進みます。 この進む順番は、タブオーダーで設定できるので問題ないのですが、 サブフォームの情報を入力し終えて、メインフォームへカーソルを飛ばしたい場合、どうすればいいのでしょうか? そのままEnterやTabを押しても、サブフォームの中の新規レコードが追加されるだけです。 自分でキーなどを設定できるのであれば、なおさら良いのですが・・・ とりあえず、基本的な操作方法として、サブフォームからメインフォームへ移るキーを教えてほしいです。 よろしくお願いします。

  • ACCESS2000のメインフォームサブフォーム間の移動

    Access2000でメインフォームの中に詳細を確認/入力するためのサブフォームを作成しています。 メインフォームの中のコントロールを最後まで入力(enterで移動)していくと、メインフォームの最後のコントロールの次はサブフォームの最初のコントロールに移動します。(これは普通ですよね?) サブフォームはデータの詳細によっては1レコードで終わるものもありますし、複数レコードにわたるものもあります。 サブフォームの入力が終了したときに、キー操作でメインフォームの次のレコードの頭のコントロールに移動する事はできますか? マクロをAccessの方から設定するくらいならできるのですが、自分でSQLをうんぬんする知識はありません。 よい方法があったら教えてください。

  • アクセスの計算式について

    アクセスの計算式について アクセスで原価管理表を作成しています。 1顧客情報、2販売額、3原価 4人件費、5経費のクエリをつくり、 1をもとにレポートを作成し、2,3,4、5のサブフォームを組み込みました。 注文番号でリンクさせています。 最後に、総原価(3+4+5)、利益(2-3-4-5)を出したいのですが、4や5のデータがない場合は、 合計が#size!というエラーになってしまいます。 Nz関数も試したのですが、うまくいきません。 どうすればよいのでしょうか? よろしくお願いいたします。

  • ACCESSでメインフォーム上のオプショングループに設定したマクロでサブフォームに抽出結果をだしたい

    メインフォームとサブフォームがあり、 メインフォーム上でオプショングループ(年月日の月のみ) を作成しました。 例えばオプショングループの「1月」ボタンを クリックすると、サブフォームの1月のデータが すべて抽出されるようにしたいと思うのです。 普通のフォームにおけるマクロでは、 条件に[Forms]![メインフォーム名]![指定月(オプショングループの名前です)]=1 where条件式に[月]=1 とすると、きちんと実行されるのですが、 サブフォームにおいては、これではできないのです。 どこをどうすればよいのかご回答のほどよろしくお願いいたします。

  • ACCESSのメインフォームとサブフォームについて

    ACCESSで、受注伝票のようなものを作成したいと思っています。受注伝票フォームに受注明細のサブフォームを埋め込んだようなフォームを作ろうとしています。その際、受注伝票と明細に受注コードのフィールドを設け関連づけたいのですが、メインフォームに受注コードを入力したらサブにも同じコードが自動的に振られるようなことはできるのでしょうか。 出来ないのであれば、どのように作ればよいのでしょうか。

このQ&Aのポイント
  • パスワードを忘れてしまった場合、どうすれば解決できるのでしょうか?本記事では、パスワードを再設定する方法や、よく使われるパスワードのヒントを紹介します。
  • パスワードを忘れた場合の対処法を紹介します。まずは、アカウントのメールアドレスにリセット用のURLが送られてくるサービスを利用しましょう。また、よく使われるパスワードのヒントや、セキュリティの強化についても解説します。
  • パスワードを忘れた場合、まずは焦らず冷静に対処しましょう。アカウントの登録メールアドレスにリセット用のURLが送信されることがあるため、メールを確認してみてください。また、パスワードのヒントや、セキュリティのためのパスワードの変更方法についても解説します。
回答を見る

専門家に質問してみよう