• ベストアンサー
  • すぐに回答を!

Dcountの条件文について(ACCESSのレポート機能)

日報レポートを作成中ですが、テーブル内の複数のフィードを指定して、絞込抽出して、該当のレコード数を返したいのですが、エラーが表示されてうまくいきません。エラーが表示されるのは、レポート上の該当のレコード数を表示させるテキストボックスです。 テキストボックスのコントロールソースには以下のような記述をしています。 =DCount("[ステータス]+[シート有無]","[抽出クエリ]","[ステータス]='受注' Or [ステータス]='失注' Or [ステータス]='検討中'" And "[シート有無]=Yes") コントロールソース上での記載ではエラーは出ませんが、レポートを実行させると、テキストボックス上にエラーが出てしまいます。 Webでいろいろ調べて見ましたが、原因がどうしても分かりません。 どなたかサポートしていただければ幸いです。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数1355
  • ありがとう数1

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

  • ベストアンサー
  • 回答No.1

エラーの直接原因は、数値型以外のフィールドを「+」で結合していることだと思います。 現在:  "[ステータス]+[シート有無]" 修正:  "[ステータス] & [シート有無]"  又は  "*"  (2フィールドの「&」連結により、Nullもカウント対象内になるので、「*」と実質変わらないものと思います) また、Where条件の部分も、エラーにはなりませんが、現状では意図したとおりの結果が 返されないと思います。   現在:  "[ステータス]='受注' Or [ステータス]='失注' Or [ステータス]='検討中'" And "[シート有無]=Yes" 変更:  "([ステータス]='受注' Or [ステータス]='失注' Or [ステータス]='検討中') And [シート有無]=Yes" 従って、全体としては、 =DCount("*","抽出クエリ","([ステータス]='受注' Or [ステータス]='失注' Or [ステータス]='検討中') And [シート有無]=Yes")

共感・感謝の気持ちを伝えよう!

質問者からのお礼

DexMachinaさん。 早速の御回答有難うございます。 以下の記述でうまくいきました。 =DCount("[ステータス] & [シート有無]","抽出クエリ","([ステータス]='受注' Or [ステータス]='失注' Or [ステータス]='検討中') And [シート有無]=Yes") 有難うございます。助かりました。

関連するQ&A

  • Accessのレポートのコントロールソースについて

    すみません。教えてください。 Accessのレポートで、レポートとしてはクエリー1をレコードソースに設定してありますが、その中の1つのテキストボックスにクエリー2(つまりレコードソースに設定した以外のクエリー)の項目を表示させたい場合、そのテキストボックスのコントロールソースには、どのように式を記載すればよいのでしょうか?

  • accessのレポートについて

    accessのレポートでテキストボックスのコントロールソースに =[名前] & "様" と入力したんですが,#エラー とでてしまいます。様という字を追加するにはどうすればいいのでしょうか?

  • Access Dcount で抽出条件複数の場合

    教えてください。Access2000です。 テーブルAでフィールド1の値が「1」でフィールド2の値が「Cを含む全て」としたいのですがどうしたら良いですか? テキストボックスのコントロールソースに記入します。 DCount("*","[テーブルA],"[テーブルA]![フィールド1]=1 and [テーブル1]![フィールド2]='*C*'") よろしくお願いします。

  • Access2002でのレポートで

    お世話になります。 Access2002でレポートを作成しているのですがデザイン ビューの詳細セクションでテキストボックスを貼り付けて "=Left([***],Len([***])-4) " *[***]はレポートで作成したクエリの項目 をプロパティのコントロールソースに設定したのですが 実際にレポートに出力するテーブルにデータがないとき テキストボックスが貼り付けてある場所に "#エラー" と表示されます。 上記の表示を回避(空白でもいいです)できる方法を 教えてください。

  • Access2003のフォームからレポートに変数を渡したいのです。

    Access2003のフォームからレポートに変数を渡したいのです。 フォームに「結果」という名前の非連結コンボボックスがあり、値集合ソースは、「"承認";"却下";"保留"」です。 フォームの印刷ボタンはクリック時のイベントに以下を設定しています。 DoCmd.OpenReport ("R_レポート名"), acViewPreview このレポートでテキストボックスに「結果」の内容を表示させたいと思います。 テキストボックスのコントロールソースに、「=[Forms]![F_フォーム名]![結果]」と入れてみましたがエラーになります。 フォームのコンボボックスの値をレポートで表示させるにはどうすれば良いのでしょうか。 ご教示ください。よろしくお願いいたします。

  • アクセスのフォーム上でのカウントについて

    access2003を使用しています。 フォーム上で、A、B、C の3ランクをクエリから抽出して表示させています。 総件数はテキストボックスのコントロールソースに =Count([ランク]) で、表示されるのですが、 ランクごとの小計が =DCount([ランク],"A")では、フォームビューでは「#エラー」と表示されてしまいます。 記述が間違っているのでしょうか?それとも使用できないのでしょうか・・・。同じことをレポートで行おうとしたら、総件数も「#エラー」となってしまいました。 ランクごとの小計の出し方を教えてください。

  • Accessのレポート詳細連番付与について

    Accessのレポートの詳細レコードに連番を付けたいので 色々、検索しましたら (1)詳細欄にテキストボックスを配置 (2)コントロールソース=1 (3)集計実行=全体 としたところ、見事に出来ました...ん? 次のページの詳細にも、連番が..! 最後のレポートの詳細にまでずっと連番がついているではありませんか? これでは、せっかく見つけた方法も残念です。 レポート毎の連番にするにはどうしたら良いでしょうか? Access初心者で「記述」はまだした事がありません。 どなたか、よろしくお願いします。

  • レポートのコントロールソースを条件により変えたい

    環境:ACCESS2003&XP フォームにボタンをつけ、クリックするとレポートがプレビューされるようにしてあります。レポートのレコードソースはクエリーです。 そのクエリーには、"担当者名"と”マスター担当者”というフィールドがあります。 フォームのオプショングループのオプションボタンを見て、レポートのテキストボックス(txt担当者名)のコントロールソースを変えようとしています。レポート上では、テキストボックス(txt担当者名)のコントロールソースはブランクにしてあり、レポートの詳細(txt担当者名はレポートの詳細にはいっています)フォーマット時に以下のVBAを記述しています。 If Forms![売上一覧表_検索].[opt条件担当者] = "1" Then Me.txt担当者名 = [担当者名] Else Me.txt担当者名 = [マスター担当者] End If データ上、担当者名は入っているのですが、レポートでは何も表示されません。 ご存知の方、よろしくお願いします。

  • accessレポートの抽出条件

    こんにちわ。 いまaccess2000で, フォームからレポートを出力する処理をしています。 そのレポートは[コントロールソース]としてあるクエリを設定しています。 そこで, DoCmd.OpenReport "r_帳票", acPreview, , "[番号] = 'a100'" とコーディングしました。 なおレポートの[フィルタ]プロパティは"はい"にしています。 ところが,出力されたレポートには条件で抽出されずに 全件が出力されてしまいました。 抽出条件を効かせるためにはどうすれば良いでしょうか? 教えてください。お願いします。

  • 【ACCESS2003】レポート多用したらファイルサイズ増

    客先に提出する検査表をレポートを使用して出力しております。様式が多種であるため、その都度、検査Noを抽出条件とした選択クエリを作成し、それを基にコントロールの数が50前後のレポートを20~30個作っていたら、いつのまにかファイルサイズが40MBから160MBに増え、ACCESSを開く際の時間も遅くなりました。(ちなみにコントロールソースにIFF関数”コントロールAに入るフィールドAの値が空欄ならばコントロールBには値を表示させない等”を使用したテキストボックスを多用しております。今後も様式の数が増える予定なので、ファイルサイズをなるべく増やさないようにして、レポートを作成していきたいのですが、良い方法ありますでしょうか?