
No.6ベストアンサー
- 回答日時:
#3です。
> 金額出てきました。
であれば、条件式がおかしいか、テーブルのデータがおかしいのでしょう。
テーブルの「振込み日」のフィールドをチェックすべきでしょう。
1.フィールド名が「振込み日」であるか確認。
2.フィールドのタイプをチェック。「日付時刻型」か「文字型」か。
3.「振込み日」フィールドに妙なデータ(日付)が入っていないか確認する。
DSum関数は、外部(そのフォームやレポート関連づけられていない)のテーブルやクエリのデータを集計できる関数です。
書式は、DSum("集計するフィールド名","テーブル/クエリ名","抽出条件")で、
全て文字列で指定します。
今回は、抽出条件がうまく設定されていないようです。
検索する相手のフィールドが文字型である場合は、
DSum("金額","手形","品名='みかん'")
のように、検索する文字列を「'」(シングルコーテーション)でくくらなくてはいけません。
もし、相手が日付型で、かつフォームのテキストボックスに入力した内容を使って絞り込む場合は、
=DSum("金額","振込","振込み日 <= " & CDate(Me.日付)
とか
=DSum("金額","手形",BuildCriteria("振込み日", adDate, "<=" & Me.日付))
のようにします。
BuildCriteriaは、抽出条件を正しい形で文字列化してくれる関数(メソッド)です。
> ("金額,"手形")-("貸し方","手形")…なんて感じの式なんてできますか?
できます。
関数で計算された数値は、通常の数値と何ら変わりはないので、
DSum ("金額,"手形")-DSum("貸し方","手形")
などと計算させることができます。当然、それぞれ条件も指定できます。
DSum ("借り方,"手形","日付 Between 2007/10/1 And 2007/10/31")-DSum("貸し方","手形","日付 Between 2007/10/1 And 2007/10/31")
などとすることも可能です。
日付の場合、#2007/10/31#と「#」でくくる必要があるかも...
丁寧にありがとうございます。どうやら3.のようです。どれが影響してたのかはよく分からないのですが日付を打ち直して再トライしたら出てきました。ありがとうございます。スゴイ助かりました!これでどうにかできそうです。どうもありがとうございました。
No.5
- 回答日時:
#2です。
テストとして、
=DSum("金額","手形")
として、条件をなしにしてやってみてください。
条件はともかく、金額が表示されるなら、条件指定がおかしいことになります。
この回答への補足
回答ありがとうございます!金額出てきました。それで質問なのですがこれは指定がないのでトータルの金額になりますよね?それでも多分OKなのですが(すみません、DSumで何ができるのか良く分からなかったので遠回りしてるのかも…)この式の中で足し算・引き算ってできますか?
("金額,"手形")-("貸し方","手形")…なんて感じの式なんてできますか?
画面に表示させたい内容は一ヶ月分なのですが金額的にはトータルとか指示した期間でとか出したいのですが…。
No.4
- 回答日時:
#3です。
> 早速入れてみたのですが…エラーに…
おかしいですね。エラー内容を提示していただけると、手がかりになるのですが...
#2さんが、「振込み日が日付項目で定義されているとしてですが。。。」と心配されていますが、
案外、文字項目で設定されていることもあり得るので、
=DSum("金額","手形","振込み日 <= '2007/10/21'")
か
=DSum("金額","手形","振込み日 <= '20071001'")
で試してみてください。
この回答への補足
回答ありがとうございます。やってみましたがやはりエラーに…。式を入力した時点では何もでないのですがプレビューで出すと『#エラー』となります。。。
補足日時:2007/12/03 16:01No.3
- 回答日時:
数式の中身は、対象となるテーブル名が「振込」と仮定して、
=DSum("金額","振込","振込み日 <= 2007/10/21")
です。
「[」や「]」は一切要りません。
=DSum("金額","振込",BuildCriteria("振込み日", adDate, "<=2007/10/21"))
のほうが、失敗がないかも...
DSum等は、レポートやフォームに使う方が一般的です。
クエリでは、クエリ自体で絞り込みを行うので、Sumを使います。
この回答への補足
早速の回答ありがとうございました。[ ]とかいらないんですか?! …勉強になりました。早速入れてみたのですが…エラーに…。レポートでDSumを使います。どこか打ち間違えてるんだと思うので再トライしてみます。
補足日時:2007/12/03 12:15No.1
- 回答日時:
DSum("集計項目","テーブル/クエリ名","抽出条件")ですが例の場合だと
=DSum("[金額]","テーブル名","[振込み日]<=#2007/10/21#")
日付が非連結テキストボックスに書き込まれている場合は
=DSum("[金額]","テーブル名","[振込み日]<="& CDate([テキストボックス名]))
この回答への補足
お世話になります。式の入力間違いかと思って何度か入れなおしたりしたのですがやはりどうも最初の1行目X登録した行数の金額になってしまいます。(最初の1行目の金額が450,430だとして入力したのが7件あると3,153,010になってしまいます)
どうしてこんな数字になってしまうのか分かりますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
【アクセス】複数の条件のDSumを記述したい
Excel(エクセル)
-
Accessクエリで分類ごとの累計を計算する方法
Access(アクセス)
-
ACCESSで、EXCELのような、sumif関数のような関数ってありますか?
Access(アクセス)
-
4
ACCESSのフォームからデータの追加ができない
その他(データベース)
-
5
アクセスVBAのMe!と[ ]
Access(アクセス)
-
6
新規レコード行を非表示にしたい
Access(アクセス)
-
7
Accessで、1つの項目に複数の置換えを1度でするには?
Access(アクセス)
-
8
Access Dsum関数
Access(アクセス)
-
9
アクセス IIfとSum関数を同時に使いたい場合
Access(アクセス)
-
10
AccessフォームのDcount複数条件
その他(Microsoft Office)
-
11
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
12
Accessフォームが入力できません。
Access(アクセス)
-
13
ACCESSで値を代入できないとは?
Visual Basic(VBA)
-
14
ACCESSでタイトルバーを非表示にする方法
Access(アクセス)
-
15
Access カレントレコードがありません
その他(データベース)
-
16
2つ目のレコードの値を取得するには?
Access(アクセス)
-
17
ACCESSの複数レポートの印刷について。
Access(アクセス)
-
18
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
19
Accessの桁区切りについて教えてください。
Access(アクセス)
-
20
ACCESS フォームで抽出したデータのみをレポートで表示したい
Access(アクセス)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
指定日付を起点にして最新日付...
-
5
アクセス:既定値に土日含まず...
-
6
Excleピボットでデータのない部...
-
7
VBA 別シートの同じ日付の欄に...
-
8
Excel→Accessへの日付データの...
-
9
クロス集計のユニオンクエリー...
-
10
Accessの日付時刻型から日付、...
-
11
ACCESSの空白をカウントする
-
12
Accessで日付の比較がうまくい...
-
13
アクセスの昇順並び替えで空白...
-
14
アクセス 前月の月末日を求めたい
-
15
【エクセル】指定した日付に一...
-
16
アクセス 数値+日付をyyyy/mm/...
-
17
エクセルで書式設定ではなく、...
-
18
【Access】クエリでの日付処理...
-
19
アクセス97のVBAで日付項目をヌ...
-
20
ACCESS フォームで日付を入力し...
おすすめ情報
公式facebook
公式twitter