分割フォーム上で、フィルターをかけて抽出している状態のまま、ボタンをおすと非連結テキストボックスに特定フィールドの合計をだしたいのですが、どうしたらいいのかわかりません。
Dsum関数をつかい、そのテーブルのすべてのフィールドの合計は出せるのですが、分割フォーム上でフィルターをかけた状態の合計金額を出したいので、検索条件をどのように記述すればよいか教えて下さい。
フィルターは別のボタンで、さまざまなフィールドでフィルタリング、またそれらを組み合わせて複数条件のフィルタリングができるようにしています。
通報 ...
単にテキストボックスのコントロールソースを
=Sum([フィールド名])
とすればフォームのフィルターに合わせて自動で計算できますよご教授ありがとうございます。できました。
が、この機能をボタンを押したときだけ集計するようイベントプロシージャを記述したいのですが、VBAで同じものを記述すると機能してくれません。どうすればよろしいでしょうか。
ご教授ありがとうございます。できました。
が、この機能をボタンを押したときだけ集計するようイベントプロシージャを記述したいのですが、VBAで同じものを記述すると機能してくれません。どうすればよろしいでしょうか。
まず、それ自体を表示することが目的なら、フィルタの内容を変えてからボタンを押すまでフォームの表示内容と乖離してしまうのでワンステップ置くような仕組みはオススメしません
別な場所に値をコピーしたいという用途ならそのテキストボックスの値を取得すればいいでしょう(テキストボックスは非表示でもかまいません)
フィルタの実行と同時に取得したい(しかもその処理が結構重い)とかだと、
total = Me!○○フィールドの合計
の処理がうまくいかないこともあるようなので、そういう時ならばDSum関数を使って第三引数でフォームのフィルタと同じ条件を指定すればいいでしょうありがとうございます!!Me.Filterでできました。思っていた通りになりました!!