• ベストアンサー

Access2000 Dcountの使い方

harumimiの回答

  • harumimi
  • ベストアンサー率46% (51/109)
回答No.1

DCount で大丈夫だと思います。 方法としては、 レポートのレポートフッターにテキストボックスを5つ作成します。 ここでは名前を、[テキスト1][テキスト2]・・・とします。 [テキスト1]のコントロールソースに、 = DCount("フィールド名", "レコードソース名", "フィールド名 = 1") と書きます。 [テキスト2]以降は3番目の引数の = 1 を、それぞれの数に変更します。 DCountの引数の意味は、例の通りです。 質問の意味をはき違えていたらごめんなさい。

raly-raly
質問者

補足

回答ありがとうございます。 引数の意味はわかりましたが、"レコードソース名"の部分でハマッています。前述したように、レコードソースはOPENイベントのSQLで書いているので、それを参照できる名前がないのです。 その部分を"[Reports]![レポート名]"としてみましたが、どうもうまくいきません。。。

関連するQ&A

  • DCount 0が返ります。

    アクセスvbaで テーブルで該当の文字を抽出後のレコードの数を取得するしたいのですが 数 = DCount("[番号]", "T全て", "[分類] = '" & str分類 & "'") 数 = DCount("*", "T全て", "[分類] = '" & str分類 & "'") どちらも0が返ります。 str分類には、分類フィールドに必ず存在する文字列が入っています。 手作業でテーブルにフィルタをすると ちゃんとレコード数が見えるのですが DCountの何が間違ってるのでしょうか?

  • DCountを使って数えたい(初心者です)

    ACCESS2000、XPです。 テーブル名:大元 クエリ名:設問3 クエリ アンケートを集計しています。 フォームからリストボックスで言葉を選択して、 入力するようにしてあります。 3選択肢←フィールド名 アルバイト 派遣 アルバイト 仕事 短期 短期 長期 コレを、レポートにしたときに、 アルバイト 2件 短期 2件 ・ ・ ・ という風に数え上げたいんですが、 どうにもこうにもうまくいかなくて…。 =DCount("*","大元","[3選択肢]='アルバイト'") ヘルプを見て、こんな感じでつかうのかなぁ?とは 思ったんですが、そもそもコレをどこに書き込んだらいいのかもわからず…。 説明も下手で申し訳ないんですが、 よろしくお願いします。

  • DCountでテーブルのレコード件数を取得するには

    アクセスのテーブル1に何件レコードがあるかをvbaのDCountで取得したいのですが Sub a() MsgBox DCount("テーブル1") End Sub すると、引数は省略できません。(Error 449)になります。 フィールドは件数あり、レコードが入ってたり入ってなかったりするし、主キーはありません。 アクションクエリの削除クエリですべてのレコードを削除したりするので レコード件数が0件なのか、レコードがはいってるかをDCountで取得できればなー と思うのですが、どうすればいいでしょうか?

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

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

  • ACCESS2000でDCount関数の使い方

    ACCESS2000で更新クエリの質問です。 先日同様の質問をさせていただきましたが、その後うまくできないところがあったので再度質問させていただきました。 内容は、フィールドの値のカウントを集計し、更新クエリを使用してデータを更新するという内容です。 前回の質問でDCount関数を用いて下記のとおり実行するとできるとのことでしたが、条件が複数ある場合どのように記述すれば いいのかを教えて下さい。 条件は、 (1)年月 =Aテーブル.年月 (2)コード=Aテーブル.コード (3)区分 =Aテーブル.区分 <こんな感じで実行しようとしたのですがうまく動きません> UPDATE Bテーブル SET" カウント数1 = DCount('区分','Aテーブル','[A年月]=[B年月] And [Aコード]=[Bコード] And [A区分]='001'') カウント数2 = DCount('区分','Aテーブル','[A年月]=[B年月] And [Aコード]=[Bコード] And [A区分]='002'') やりたいことは下記のとおりです。Aテーブルを集計しBテーブルの個数にAテーブルの個数の合計値を更新する。 <Aテーブル> A年月  Aコード A区分      200807  9991   001 200807  9991   001 200807  9991   001 200807  9991   002 200807  9991   002 <Bテーブル> B年月  Bコード Bカウント数1  Bカウント数2 200807  9991        0       0 ↓↓↓更新後 <結果:Bテーブル>   B年月  Bコード Bカウント数1  Bカウント数2 200807  9991        3       2              ↑       ↑    (Aテーブルの区分='001'  (Aテーブルの区分='002'     を集計した結果)       を集計した結果)

  • ACCESSのレポートでの表示について

    1つのレコードに複数のフィールドを作り、帳票フォームを作成し、それをレポートにしました。 レポートで表示すると、1ページに複数のレコードの内容が表示されています。 そこで、それぞれのレコードには空欄のフィールドが多くあるので、データが入力されてあるフィールドのみを表示させていきたのですがどうすればよいでしょうか。 そうやってつめる事によって1ページに表示されるレコード数を増やしていきたいのですが・・・・・。 よきアドバイスお願いいたします。

  • 【Access】Dcountの利用方法

    いつもお世話になっています。 今回もまた詰まってしまったのでアドバイスを頂にあがりました。 テーブルA フィールド ID|レベル1|レベル2|レベル3|程度        1|ミス  |人為的 |うっかり|低        2|ミス  |人為的 |見過ごし|低        3|トラブル|顧客  |対応ミス|低        4|ミス  |人為的 |うっかり|低        5|トラブル|社内  |連絡ミス|中 こういったテーブルがあります。(簡略化) これらを一覧表内に[程度]ごとに集計したいと思いDcount関数を利用してみようとしてました。 表現したい表形式は・・・               |(程度) | レベル1|レベル2|レベル3|低|中|高| ミス  |人為的 |うっかり|2|0|0|     |    |見過ごし|1|0|0| トラブル|顧客  |対応ミス|1|0|0|     |社内  |連絡ミス|0|1|0| 最初はテーブルに直接表現するときに 低のフィールドには =DCount("[レベル3]&[程度]","テーブルA","[レベル3]&[程度]=[レベル3]&'低'") 中のフィールドには 上記の'低'を中に変えて計算できる・・・ と思っていたのですがレベル3のフィールドをレポート上ではそれぞれで識別できないようで 極端な話ですが =DCount("[レベル3]&[程度]","テーブルA","[レベル3]&[程度]='うっかり低'") と・・・各項目ごとに作っていくと恐らくうまくいくと思うのですが、なにぶん項目が多いのとレベル3に関しては今後項目が増えていく予定です。 それにも対応できるようにしたいと思っているのですが 私の知識では詰まってしまいました・・・ アドバイスを頂けます様よろしくお願いいたします。

  • アクセス DCount criteriaにDATEを指定したい

    こんばんは テーブル1の処理日フィールドに入っている今日の日付の件数を取得してテキストボックスに表示させたいのですがうまくいきません。 テキストボックスのコントロールソースに =DCount("[処理日]","テーブル1","[処理日]=date") と入力してフォームビューで見ると #エラーになります。 =DCount("[処理日]","テーブル1") だけならエラーにはならないですが全ての件数が出てしまいます。 今日の日付のみ取得するにはどうすればいいでしょう? 処理日の書式は「日付 (S)」です。 どうぞよろしくお願いします。

  • Dcount関数が表示されない。

    フォームにコンボボックスを作って選んだデータより、フォームの中にテキストボックスを作って、クエリを元にDcount関数を作成しました。 コントロールソースには=DCount("落札金額","○○クエリ","落札金額<>0")として、落札金額が入った数を表示させたいと思っています。 しかし、コンボボックスに値を入力しても、0表示のままなのですが、フォームビューのままコントロールソースをさわったりして、元に戻すと、正しい数字が表示されてきます。また、コンボボックスを選んだ状態からフォームビューをいったんデザインビューにして、またフォームビューに戻すと、正しい数字が表示されています。 文章にするのが難しくてご理解いただけないかもしれませんが、宜しくお願いします。

  • Access 連結フィールド値を自動で表示

    Accessでフォーム上にサブフォーム(データシート)を作成すると、 新規レコード欄にも自動的に連結フィールドの値が表示されます。 このサブフォームをメインフォーム上に作らずに、 コマンドボタンクリック時にあるフィールドが一致する(上記で言う連結フィールド)データを表示したサブフォーム(データシート)を開くかたちにしたいのですが、そうすると当然ながら新規レコード欄には連結フィールドの値は表示されません。 これをメインフォーム上にサブフォームを作った時と同じように、新規レコード欄に連結フィールド値を表示させるにはどうしたら良いでしょうか? サブフォームを開く段階で新規レコードに結合フィールドの値を(VBAで)入力する事も考えましたが、そうするともしそこにデータを入れるつもりじゃなくても1つのレコードとしてデータが残ってしまいます。 メインフォーム上に作ったサブフォームなら、新規レコードに結合フィールドの値は表示されているものの、その他のフィールドにデータを入力しなければ1つのレコードとしてデータが残ることはありません。 こういう事が可能かどうかわかりませんが、ご存知でしたら教えてくださいませ。 よろしくお願いします!