Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2126 / 2272 ツリー ←次へ | 前へ→

【3804】ある条件のレコード数のみを数えるには? shima 04/11/2(火) 14:42 質問[未読]
【3805】Re:ある条件のレコード数のみを数えるには? Gin_II 04/11/2(火) 14:47 回答[未読]
【3806】Re:ある条件のレコード数のみを数えるには? shima 04/11/2(火) 19:02 質問[未読]
【3807】Re:ある条件のレコード数のみを数えるには? Gin_II 04/11/2(火) 20:56 回答[未読]
【3811】Re:ある条件のレコード数のみを数えるには? shima 04/11/3(水) 15:33 質問[未読]
【3817】Re:ある条件のレコード数のみを数えるには? shima 04/11/5(金) 12:01 お礼[未読]

【3804】ある条件のレコード数のみを数えるには?
質問  shima  - 04/11/2(火) 14:42 -

引用なし
パスワード
   はじめまして、よろしかったら回答願います。
ACCESS2002 ME使用 初心者です。
名簿をテーブルで作成したのですが
「ID」 オートナンバー型
「名前」テキスト型
「地域」テキスト型
「生年月日」テキスト型
「部門」テキスト型
「参加」Yes/No型  (書式を On/Off設定)

データの区別としては
参加 → チェックあり 参加
参加 → チェックなし 不参加

・参加フィールドにチェックのある人のみ、人数を数えたいのですが
どのようにしたらよいのでしょうか?

・参加フィールドにチェックのある人のみ、レポートで印刷をするには、
どのようにしたらよろいのでしょうか?

【3805】Re:ある条件のレコード数のみを数えるには...
回答  Gin_II  - 04/11/2(火) 14:47 -

引用なし
パスワード
   >・参加フィールドにチェックのある人のみ、人数を数えたいのですが
>どのようにしたらよいのでしょうか?

数えた人数をどのように使うのでしょうか?
とりあえず、DCount 関数あたりをヘルプで確認してください。


>・参加フィールドにチェックのある人のみ、レポートで印刷をするには、
>どのようにしたらよろいのでしょうか?

○レポートのレコードソースをクエリにして、クエリで、参加フィールドの
 抽出条件欄に True を設定する。

○レポートのフィルタプロパティを使う。

のどちらかで大丈夫だと思います。

【3806】Re:ある条件のレコード数のみを数えるには...
質問  shima  - 04/11/2(火) 19:02 -

引用なし
パスワード
   ▼Gin_II さん:
回答ありがとうございます。
・参加フィールドにチェックのある人のみ、人数を数えたいのですが
どのようにしたらよいのでしょうか?

すみません。ヘルプで探してみたのですが
関数の使い方がイマイチよくわかりません。
dcount([参加]=true)
また、逆にチェックのない人の人数も数えたいのですが

人数を数えたいのは、実際に参加する人が何人
キャンセルの人が何人を知りたいのです。
参加人数の方が多いので、
参加 ← チェックなし(参加者)
参加 ← チェックあり(キャンセル)
に変更したいのですが・・・

名簿テーブルを元にフォームを作成してあるのですが
そのフォームの画面で
参加者=何人
キャンセル=何人が
登録人数(参加者・キャンセル含む)合計何人が
わかるような形に出来たらいいな。と思って
今現在では、テーブルに入力されているデータ全ての
レコード数しかわからないので、フォームの下にある数字で判断
しているので、実際の参加者、キャンセル人数が全く
わからなくて困っています。
人数が多いので見た目だけでも人目でわかるような形にしたいのですが・・・


・参加フィールドにチェックのある人のみ、レポートで印刷をするには、
どのようにしたらよろいのでしょうか?

○レポートのレコードソースをクエリにして、クエリで、参加フィールドの
 抽出条件欄に True を設定する。

       ↑
すみません。よく分からないのですが・・・

○レポートのフィルタプロパティを使う。

 レポートのフィルタプロパティ?とは、参加フィールドのプロパティで
 よろしいのですよね?

【3807】Re:ある条件のレコード数のみを数えるには...
回答  Gin_II  - 04/11/2(火) 20:56 -

引用なし
パスワード
   レコード数をカウントするのではなく、人数を集計するんですね (^^ゞ


> 関数の使い方がイマイチよくわかりません。

DCount 関数を使うのなら、

DSum("[参加者]","[テーブル名]","[参加]=True")
のようにすれば大丈夫です。


> 登録人数(参加者・キャンセル含む)合計何人が
> わかるような形に出来たらいいな。と思って

フォームのフォームフッターセクションで表示できればいいのなら、
IIF 関数+Sum 関数を使ったほうがいいです。

=Sum(IIF([参加]=True,[参加者],0))


> ○レポートのレコードソースをクエリにして、クエリで、参加フィールドの
>  抽出条件欄に True を設定する。
>        ↑
> すみません。よく分からないのですが・・・

抽出などをするときはクエリを使うのが基本です。
選択クエリを作成して、それをレポートのレコードソースにします。

どこの部分が分からないのかが分かれば、もう少し具体的にレスできますけど。。
○クエリの作り方
○レポートのレコードソースの変更の仕方

など。


>  レポートのフィルタプロパティ?とは、参加フィールドのプロパティで
>  よろしいのですよね?

違います。
レポートのプロパティの表示の仕方は分かりますか?
#コントロールのプロパティではなく。

【3811】Re:ある条件のレコード数のみを数えるには...
質問  shima  - 04/11/3(水) 15:33 -

引用なし
パスワード
   ▼Gin_II さん:
回答ありがとうございます。
説明不足ですみません。

レコード数をカウントじゃないのですか?
人数を集計するのでレコードを数えなくちゃいけないのだと
ばかり思ってました。

参加フィールドに 
チェックがある場合は=キャンセルにした方が
分かりやすいと言われたので
最初の質問と逆になってしまったのですが

TrueをFalseに変更でいいのですよね?
違いますかね?

クエリーで式を作成って事ですよね?
DSum("[参加者]","[テーブル名]","[参加]=True")

DSum("[参加]","[1R]","[参加]=False")
    ↑   ↑    ↑
 フィールド名テーブル名フィールド名
で置き換えて見たのですが自分が間違ってしまったようで
エラーが出てしまいました。


>> 登録人数(参加者・キャンセル含む)合計何人が
>> わかるような形に出来たらいいな。と思って
>
>フォームのフォームフッターセクションで表示できればいいのなら、
>IIF 関数+Sum 関数を使ったほうがいいです。
>
>=Sum(IIF([参加]=True,[参加者],0))

フォームを確認したら、1R.参加フィールドと2R.参加フィールドと
参加フィールドでも 2個あったのを忘れていていた為
考えて式を入れてみたのですが
テキストボックスのコントロールソースに
=Sum(IIF([1R.参加]=False,[1R.参加],0))

1R.参加にチェックがあるのに 答えは 0 と表示してあるのですが
Falseに当てはまるとしたら、1 が正解になるのですよね?
違いますかね?
本当に申し訳ないです。何もわからなすぎて・・・

参加フィールドに チェックあり=キャンセル False
参加フィールドに チェックなし=参加する  True
の解釈であってますか?
最初に質問した後に逆に変えるよう言われたもので
頭の中がチンプンカンプンで本当にすみません。

>抽出などをするときはクエリを使うのが基本です。
1Rテーブルを元にクエリを作成しました。
参加フィールドの抽出条件にFalseを指定してみました。
結果、チェックのないレコードだけがかえされたまでは
なんとか出来ました。

>選択クエリを作成して、それをレポートのレコードソースにします。

その選択クエリを使用するのでしょうか?
>> ○レポートのレコードソースをクエリにして、クエリで、参加フィールドの
>>  抽出条件欄に True を設定する。
>>        ↑
>> すみません。よく分からないのですが・・・
>

○クエリの作り方
○レポートのレコードソースの変更の仕方
基本的な事からして分からないのでよろしければ
回答願います。

名簿フォームというフォーム画面で
参加フィールドに チェックあり=キャンセル
参加フィールドに チェックなし=参加する

ただ、名簿フォームには 1R.参加フィールドと2R.参加フィールドの
2つのフィールドが存在するので
1R.参加フィールドの キャンセルの人数・参加人数
2R.参加フィールドの キャンセルの人数・参加人数
とそれぞれのフィールドの値を数えたいのですが・・・

>レポートのプロパティの表示の仕方は分かりますか?
>#コントロールのプロパティではなく。
レポートの左上の四角でプロパティですよね?
これも違いますか?

【3817】Re:ある条件のレコード数のみを数えるには...
お礼  shima  - 04/11/5(金) 12:01 -

引用なし
パスワード
   Gin_II さん:
返事が大変、遅くなりましたが
回答ありがとうございました。
説明不足ですみませんでした。
自分の式の指定が悪かっただけでした。
本当にすみません。
下記の式で理想の値が返されました。

=Sum(IIF([参加]=True,[参加],0))
ありがとうございました。

2126 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078264
(SS)C-BOARD v3.8 is Free