作りたいもの
access初心者です。
売上管理のため指定した期間の合計を表示したいと考えております。
最終的には同じフォームにコンボボックスで年月指定を行いその結果を以下のように反映したいと考えています。
分かりやすいように表にしていますが実際はテキストボックスなどで作る予定です。
例) 2023年1月を選択
開始日 | 終了日 | 合計値 |
---|---|---|
2023年1月1日 | 2023年1月15日 | ○○円 |
2023年1月16日 | 2023年1月31日 | ○○円 |
元になるテーブル
売上日 | 金額 |
---|---|
2023年1月1日 | ○○円 |
2023年1月2日 | ○○円 |
2023年1月3日 | ○○円 |
できていること
年月指定のコンボボックスの作成
コンボボックスから該当する開始、終了日の表示(テキストボックス)
合計クエリ上で上記テキストボックスの日を使った合計値の算出(Betweenを使った式)
知りたいこと
個別ではやりたいことができたのですがうまく組み合わせて一つのフォームに結果を出すことができません。
解決策を探している際にフォームに結果まで表示するにはVBAがいるというのを見かけたのですが、
excelでVBAは多少使っているのでVBAを使う方法で問題ないです。
ご教授いただけますと幸いです。
よろしくお願いいたします。
ちょっと理解しきれてないけど、月の前半と後半、金額を振り分けて合計したらいいんじゃない?
レコードが分かれていたほうが都合がいいならレコードごとに前半、後半のフラグを立ててそれでグループ化するとか
抽出条件/フィルタの設定をクエリに入れるか、VBAでやるかはお好みで
ありがとうございます。
こちらのクエリの結果を年月を指定したフォーム上に表1のような形で表示させたいと考えているのですがどのように行えばよろしいのでしょうか。
そのクエリをレコードソースにしたフォームを新たに作り、望みの表の見た目にしてメインのフォームにサブフォームとして設置したらそれっぽいと思います
仕様がよく分からないんでクエリの回答してますけど、フォーム上に2つの合計値が表示されればいいだけならテキストボックスで計算させてもいいんじゃないですかね?
DSUM 関数
可能ならテキストボックス内で計算の方法をとりたいです。
売上の基準日が変わる可能性もあるため同じフォーム内の対象のラベル([開始][終了])から日付を持ってきて計算するようにしたいのですが以下だとエラーになります。
「対象のラベル」とはどのように作ったものですか?
普通のテキストボックスを指定すれば特に問題なく動作すると思いますが
たとえば、正しく入力されたと想定して日付を直接記述して試してください
は想定した値が表示されますか?
また、
は、それぞれ入力しようとした値を表示しますか?
は想定した値がでてきます。
はエラーになります。
現在はコントロールボックスの更新後処理としてラベルに日付が入力されるようにしています。
ラベルではなくテキストボックスを利用すべきでしょうか。
ラベルのままで行くなら、Caption を参照するようにしてください。
テキストボックスにしておけば Caption は必要ないです。
テキストボックスの既定のプロパティ(省略したときに採用されるプロパティ)はValueですので、省略したら下記と同じ意味になります。
ラベルには既定のプロパティがないので、参照するプロパティ(Caption)を省略できません。。
ご回答ありがとうございます!
無事に合計値出すことができました。
テキストボックスとラベルについて性質を理解していないので勉強してみようと思います。
ありがとうございました。