- ベストアンサー
accessフォームでサブフォームの合計値が出てこない
- 注文書を作成している際に、accessフォームでサブフォームの合計値が表示されない問題が発生しています。
- サブフォーム内で各項目の金額を表示させるために、名前が「金額計」で【合計([金額])】という計算式を使用しています。
- サブフォームを使ったフォームで、「金額計」が「#Name?」と表示され、何も表示されません。コントロールソースは【=[Forms]![サブフォーム]![金額計]】や【=[サブフォーム].[Forms]![金額計]】としていますが、問題点がわかりません。
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- 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”になる。 行削除しても「合計金額」は変わらず、変更前のまま。 どちらも、サブフォオームの「金額計」は正しく表示されています。 以上、よろしくお願い致します。
- 締切済み
- Visual Basic
- サブフォームの金額合計をメインフォームに表示させたい
OS:XP ACCESS2003 フォームに金額の明細があるサブフォームを3つ貼り付けています。各サブフォームの金額の合計は、フッターに=Sum([金額])で表示されます。(金額入力毎に足されます) メインフォームの金額欄に、この3つの合計を金額が追加されたごとに出したいのですが、よくわかりません。 よろしくお願いします。
- ベストアンサー
- その他(データベース)
- Access2000 フォーム/サブフォームについて
質問させていただきます。 フォーム/サブフォーム形式で画面を作っています。サブフォームは帳票形式で、複数のレコードを表示しており、各行の左にコマンドボタンを用意し、それをクリックすると、更新クエリー、削除クエリーが動くようにしています。 しかし、更新、削除クエリーとも ”0件のレコード”で処理が正しく動作しません。 ちなみに、両クエリの抽出条件は・・・ [Forms]![メインフォーム]![サブフォーム]![商品コード] しかし、フォームを使わずクエリーから実行する(パラメータに条件を手入力する)と正しく動作します。 記述ミスがないか何度も見返したのですが・・・。 「サブフォームの目的の行の商品コードと一致するデータを処理する」としたいのですが・・・。
- 締切済み
- オフィス系ソフト
- ACCESSサブフォームにデータ反映されない
よろしくお願いします。 Access2010を使っています。 メインフォームにあるテキストボックス2つに条件を入力し、 抽出したデータをサブフォームで表示させたいと思います。 ●メインフォーム名「フォーム1」 テキストボックス2つ「tex1」「tex2」 ●データ元クエリ「q1」 フィールド名「ID1」「ID2」「Name」 ●サブフォームSQL SELECT q1.Name FROM q1 WHERE (((q1.ID1) = Forms![フォーム1]!tex1) And ((q1.ID2) = Forms![フォーム1]!tex2))); フォームを開き、tex1とtex2に入力してもサブフォーム表示が変わりません。 サブフォームをデータシートで別に開くと、データ抽出できていることは確認できました。 サブフォームのコントロールソースへSQLを入力するだけでは、 メインフォーム内でのデータは反映されないんでしょうか??
- ベストアンサー
- オフィス系ソフト
- ACCESS2003でサブフォームを使う
すみませんが教えてください。 親フォームの中に、サブフォームを作ります。 サブフォームにはクエリの内容が表示されています。 そのサブフォームの内容を、親フォームに表示させたいです。 (サブフォームをクリックすると、親フォームの内容も切り替わる) VBAが必要なのでしょうか。 もしそうであれば、参考になるページ、もしくはコードを教えていただけるとありがたいです。 現在、親フォームのほうには [Forms]![登録内容クエリ2フォーム]![登録内容マスタのサブフォーム] ![Forms]![内容]と設定しているのですがこのままではうまくいかないのですね;; ヨロシクお願いします。
- ベストアンサー
- オフィス系ソフト
- Access2000のフォームに含まれるサブフォームのコントロールへのカーソルの移動の仕方
Forms![メインフォーム名]![サブフォームコントロール名] のように指定してもコントロールが移動してくれないんです。 もし、移動できたとして サブフォームの一番最後のレコードのセルをコピーしたいのです。 どのように指定すればよいのでしょうか?教えてください。
- ベストアンサー
- Visual Basic
- 「サブフォーム」の名前を取得したい
アクセスのフォームの中にサブフォームが2つあります。 このうちの一つのサブフォームをクリックした時に 自身のフォーム名をVBAで取得したいのですが、 サブフォームのモジュールで Debug.Print Screen.ActiveForm.Name をすると、 親フォームが取得されます。 Forms("親フォーム").Controls("サブフォーム").Form.Controls("担当者").Value の部分の、「親フォーム」が取得されます。 「サブフォーム」の部分を取得するコードはありますか?
- 締切済み
- オフィス系ソフト
- アクセスのサブフォーム
アクセス2000を使っているのですが、サブフォーム内に表示されている金額の合計をメインフォームに表示させる事は出来るでしょうか? またサブフォームを透明にして、メインフォームが透けて見えるようにはならないでしょうか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Access2000フォーム/サブフォームにつおて
Access2000でフォーム/サブフォーム(売上伝票)を作っています。 フォーム(売上伝票メイン)には伝票番号、売上先などを入力・・・ サブフォーム(売上伝票サブ)は商品、数量、金額などを入力します。 そこで質問ですが、サブフォームの商品は商品コード(コンボボックス)を入力すると該当する商品名、単価などを商品台帳から引いてくる、としたいと思い、商品コードの「更新処理後」に以下のコードを記述しました。 Me![商品名] = DLookup("[商品名]", "[商品台帳]","[商品コード]= Forms![売上伝票メイン]![売上伝票サブ]![商品コード]") サブフォーム上の商品名に商品台帳の商品名を入力するとしたつもりなのですが、何も表示されません。 単価も単位も同様です。 この方法ではだめなのでしょうか?
- 締切済み
- オフィス系ソフト
- Withでサブフォームの条件付き書式を設定する為に
親フォームなら With Me(avarContorol(i)).FormatConditions でできるのですが、親フォームに埋め込まれているサブフォームをwithで指定する場合、 どのようにすればいいでしょうか? With Forms(Me.Parent.Name).Controls(Me.Name).Form(avarContorol(i)).FormatConditions With Forms(Me.Parent.Name).Controls(Me.Name)(avarContorol(i)).FormatConditions With Forms(Me.Parent.Name).Controls(Me.Name).Form.Controls(avarContorol(i)).FormatConditions 全てエラーになってしまいます。 いろんなサブフォームに応用したいため、Me.NameとMe.Parent.Nameでフォーム名を取得したいです。
- ベストアンサー
- オフィス系ソフト
お礼
早速お教え頂き、ありがとうございます。 ソフトのバージョンはAccsess97でした。 質問をした、フォームは、レコードソースがテーブルになっていました。 このサブフォームの=Sum(金額)は、残念ながら#Nameエラーでした。 この金額のテキストボックスには=[単価]*[数量]の式でフォームで計算をしています。 試しにですが=Sum(数量)の欄も作ってみましたが、レコードソースのテーブルに数量のフィールドも設けてあるためか、これも同様のエラーになってしまいます。 これではどうしてもうまくいかなかったので、当たり前の事かも知れませんが、クエリーをこのフォームの為に作り、[単価]×[数量]はこのクエリーで計算するようにしました(あまりクエリーの意味についてわかってはいません)。 すると、=Sum()はうまくいきました。 また、このサブフォームの計算値を引き出す関数も、教えて頂いた物でうまく行きました。 (物の本にもこの関数は書かれていましたが、それはそのまま使えず、適当に変形して使っていました。 原理も分かっていませんでしたので、今でも分かりませんが、間違っていたようです。) アクセス2000になると、この辺の事もより簡単に出来るように改善されているのでしょうか? アクセスの本も少しずつ読み進めてはいるものの、そこに書かれている例題を少し変えてしまうと途端に出来なくなってしまうのが今の私のレベルです。 なかなか難しいですね。 後にこれを見る方もいるかもしれませんので、お礼を書くのが目的の欄ですが、出来るだけ詳しく書かせてもらいました。 厚かましいお願いですが、また宜しくお願いします。 ありがとうございました。