チェックボックスにチェックのあるものの個数を数えたいのですが、クエリの集計でカウントを選び抽出条件にYesを入れても結果がレコード数の数でしか出てきません。集計条件を合計にするとチェックのあるものは-1なのでマイナスの数字が出てきます。どうしたらよいのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (5件)

以下のようにすれば


SELECT Sum(IIf(TEST.Flgb=True,1,0)) AS 件数
FROM テストテーブル;
    • good
    • 0

>クエリの集計でカウントを選び抽出条件にYesを入れても結果がレコード数の数でしか出てきません


カウントを選んだフィールドの抽出条件にYesを入れても抽出できません。
もう一つ同じフィールドをクエリ内に作り集計の蘭をWhere条件にして抽出条件にYesを入れ表示のチェックを外し非表示にしてみてください。
カウントするフィールドと抽出するフィールドの二つを作らないとダメです。
    • good
    • 0

例えば、「名簿」テーブルに、[参加]という Yes/No型のフィードだとすると、



クエリーの「フィールド」に 参加者数:参加 と入力します。
集計欄に「カウント」を指定します。
「表示」欄にチェックを入れます。
「抽出条件」には、何も入力しません。

その右側のフィールドに 参加 と入れ、集計欄に「グループ化」を指定します。
「抽出条件」に Yes または、True と入力します。
「表示」欄には、チェックを入れません。

当然ですが、「テーブル名」欄は、双方とも「名簿」です。

これで如何でしょうか。
    • good
    • 0

SQLビューに切り替えて以下を編集


TEST→テーブル名
Flg→チェックボックスの列名


SELECT Count(*)
FROM TEST
WHERE (((TEST.Flg)=Yes));
    • good
    • 0

条件を「Yes」では無く「True」に変更してみて下さい。

この回答への補足

Trueにしても結果が変わりません。レコード数しか出てきません。

補足日時:2005/04/12 13:00
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QACCESS2003のデータアクセスページの使い方について

イントラ内でACCESS2003のデータアクセスページを使いたい。

1.ACCESS2003のデータアクセスページを作成しました。
2.そのMDBファイルと、データアクセスページ(htmファイル)を、WINDOWS2000ServerのInetpub内のwwwrootフォルダの中へ入れました。
3.ここにはイントラ内のHPなどを置いています。(普通に見れています。)
4.クライアントから、データアクセスページのhtmファイルを見に行くと「データソースログオン」が立ち上がります。(パスワードを設定しています。)
5.パスワードを入れるとデータアクセスページ(htm)から、通常のアクセスのフォームのごとくデータ入力が出来る予定なのですが(泣)できません。(泣)

で、悩んでおります。

ACCESS2003のMDBファイルとデータアクセスページ(HTMファイル)をサーバーのwwwrootへ置いただけでは、データアクセスページを通してmdbファイルへの入出力は不可能なのでしょうか?

Aベストアンサー

MDBに接続されたAccessプロジェクトを開いている場合データアクセスページは自動的にそのデータベースに接続されてそのパスがデータアクセスページのConnectionString プロパティに設定されます。
ページを作成した後でデータベースを移動またはコピーした場合はConnectionString プロパティに設定されているパスを更新して新しい保管場所を設定する必要がありますがどうなっていますか?
そこを確認してみてください。

Q複数条件で個数を数える

住所1 住所2 性別 
―――――――――――
奈良県 奈良市 女 
京都府 京都市 女 
奈良県 桜井市 男
奈良県 奈良市 男

・・・という表があります。
この表から、

     女   男
奈良県  1   2
京都府  1

といった、複数条件から個数を表示させるための
関数を知りたいのです。

よろしくお願いします。

Aベストアンサー

表範囲がA1:C5、個数表示表A10:C12としてB11に=SUMPRODUCT(($A$2:$A$5=$A11)*($C$2:$C$5=B$10))を設定し、対象範囲にコピーして下さい。

Qホームページ移転に伴う.htaccessの使い方ですがアップロードして

ホームページ移転に伴う.htaccessの使い方ですがアップロードして削除できなくなる事ないですか??また、さくらサーバーは.htaccess使えますか??

Aベストアンサー

.htaccessだけではなく、
ファイルはパーミッションによっては一旦削除できなくなると思いますよ・・・
使えないのにアップすると削除出来ないとか。

>さくらサーバーは.htaccess使えますか??
使えます。
.htaccessを使えない有料サーバってあるのでしょうか?・・・

QExcel2002:複数条件のデータの個数の集計

苦手な集計について質問させてください。

[A] [B]
[1] AAA aaa
[2] BBB bbb
[3] AAA aaa
[4] AAA bbb
[5] BBB ccc

上記のようなデータで[A]と[B]のAND条件でみたときの個数を集計したいと思います。
例えば上記であれば、
[A]AAAかつ[B]aaa・・・2個
[A]BBBかつ[B]bbb・・・1個
[A]AAAかつ[B]bbb・・・1個
[A]BBBかつ[B]ccc・・・1個
になります。[B]のデータは[A]のデータに依存せず、[A]の各値にまたがっています。([B]bbbは[A]AAAと[A]BBBの場合があります)

実際のシートでは、全パターンを網羅したリストがA列とB列、集計対象がD列とE列にあります。
上記の例でいえば、以下のようになっています。
[A] [B] [C] [D] [E]
[1] AAA aaa AAA aaa
[2] AAA bbb BBB bbb
[3] BBB bbb AAA aaa
[4] BBB ccc AAA bbb
[5] BBB ccc

つまり[A]列と[B]列が組み合わせパターン、[D]列と[E]列が集計元データです。
ちなみにパターン数が414個、集計元データは29000個程度です。
そして最終的な各パターンの個数を[C]列に表示させたいと思います。
VLOOKUPやピボットテーブルを考えましたが、ピンと来ません。
適切なやり方を教えてください。よろしくお願いします。

苦手な集計について質問させてください。

[A] [B]
[1] AAA aaa
[2] BBB bbb
[3] AAA aaa
[4] AAA bbb
[5] BBB ccc

上記のようなデータで[A]と[B]のAND条件でみたときの個数を集計したいと思います。
例えば上記であれば、
[A]AAAかつ[B]aaa・・・2個
[A]BBBかつ[B]bbb・・・1個
[A]AAAかつ[B]bbb・・・1個
[A]BBBかつ[B]ccc・・・1個
になります。[B]のデータは[A]のデータに依存せず、[A]の各値にまたがっています。([B]bbbは[A]AAAと[A]BBBの場合があります)

実際のシー...続きを読む

Aベストアンサー

=SUMPRODUCT(($D$1:$D$29000=A1)*($E$1:$E$29000=B1))


または、
=SUM(($D$1:$D$29000=A1)*($E$1:$E$29000=B1))
と入力して、Ctrl+Shiftキーを押しながらEnterキーを押す。(配列数式)

{=SUM(($D$1:$D$29000=A1)*($E$1:$E$29000=B1))}
のようになります。

QAccessで作成したテーブルのOLEオブジェクトの使い方

Accessで作成したテーブルにデータ型(OLEオブジェクト型)で画像を取り込みできるようにしました。
取り込みした画像を開くためのフォームを作成して画像を開けるようにしました。
下記の内容です。

Private Sub Form_Open(Cancel As Integer)
Form.Caption = ProgName
End Sub

しかし「ビットマップ形式」ですと問題なく開くのですが、「JPG形式」ですと開けないのです。取り込みしたAccessテーブルのフィールドから直接だとひらけます。
Accessで作成したフォームから、「JPG形式」の画像を開くにはどうすればよろしいですか?
また、画像を1000件ほど取り込みすると大きいデータベースになってしまいます。Accessのデータベースのサイズは制限があるのかしら?
アドバイスいただけれは幸いです。

Aベストアンサー

Access のバージョンは?
んで Web で検索する努力はしましょうよ。
丸 1日ぐらい検索しっぱなしで悩まないと。

Google「access ole jpeg」で検索
http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=access+ole+jpeg&num=50

Access 2003 では以下のような制限があるようです。
■ Access 2003 で OLE オブジェクトとして JPEG および GIF 画像を取り扱う場合の注意事項
http://support.microsoft.com/kb/884484/ja

■ OLE オブジェクト型のフィールドに格納されているイメージが正しく表示されません
http://support.microsoft.com/kb/832508/ja

解決策としては JPEG を開ける OLE コンテナになるアプリケーションをインストールしておく。

Google「Access データベース サイズ 制限」で検索
http://www.google.com/search?hl=ja&num=50&q=Access+%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9+%E3%82%B5%E3%82%A4%E3%82%BA+%E5%88%B6%E9%99%90&lr=lang_ja

Access のバージョンは?
んで Web で検索する努力はしましょうよ。
丸 1日ぐらい検索しっぱなしで悩まないと。

Google「access ole jpeg」で検索
http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=access+ole+jpeg&num=50

Access 2003 では以下のような制限があるようです。
■ Access 2003 で OLE オブジェクトとして JPEG および GIF 画像を取り扱う場合の注意事項
http://support.microsoft.com/kb/884484/ja

■ OLE オブジェクト型のフィールドに格納されているイメージが正...続きを読む

QAccess2000 クロス集計クエリで列見出しのフィールド数を25にしたい

日付が入力されたフィールドをクロス集計クエリで列見出しとしたときに新しい日付から25日分をフィールドにしたいと思います。
つまり26番目以降はなくしてしまいたいわけです。
なにかいい方法がありましたら、お時間許すときでかまいませんので教えていただきたく思います。

Aベストアンサー

列見出しプロパティーに25個だけ設定します

QAccess2000でFTPの使い方について。

Access2000のフォームから、実行のボタンをクリックするとFTPサーバに接続→ファイル取得→Accessテーブルに取込→FTPサーバのファイル削除→FTPサーバの接続切断という処理をしたいのですがどのようにしたらよいかわかりません。説明不足だとは思いますが、アドバイスを宜しくお願い致します。

Aベストアンサー

ちなみに先ほどのFTPサンプルは、BASP21をインストール後、サンプルのコードを新規モジュールに貼り付けて(たとえば以下をまるごと)実行すればAccessでもそのまま動きます。

sub file_download()

Dim ftp As Object, rc As Long, v As Variant, v2 As Variant
Dim ctr As Long

Set ftp = CreateObject("basp21.FTP")
ftp.OpenLog "c:\temp\log.txt"
rc = ftp.Connect("ftp.microsoft.com", "anonymous", "")
If rc = 0 Then
v = ftp.GetDir("bussys/winnt/winnt-public", 2) ' ディレクトリ一覧(詳細)
If IsArray(v) Then
For Each v2 In v
Debug.Print v2
Next
End If
v = ftp.GetDir("bussys/winnt/winnt-public") ' ディレクトリ一覧(ファイル名のみ)
If IsArray(v) Then
For Each v2 In v
Debug.Print v2
Next
End If
rc = ftp.GetFile("bussys/winnt/winnt-public/*", "c:\temp") 'ファイル受信

end sub

実行には20秒ほどかかります。
実行前にはCドライブにtempというフォルダを作っておいてください。

ちなみに先ほどのFTPサンプルは、BASP21をインストール後、サンプルのコードを新規モジュールに貼り付けて(たとえば以下をまるごと)実行すればAccessでもそのまま動きます。

sub file_download()

Dim ftp As Object, rc As Long, v As Variant, v2 As Variant
Dim ctr As Long

Set ftp = CreateObject("basp21.FTP")
ftp.OpenLog "c:\temp\log.txt"
rc = ftp.Connect("ftp.microsoft.com", "anonymous", "")
If rc = 0 Then
v = ftp.GetDir("bussys/winnt/winnt-public", 2) ' ディレクトリ一...続きを読む

QACCESS  クロス集計クエリの抽出条件について

http://www.accessclub.jp/samplefile/samplefile_39.htm

上記サイトのクロス集計クエリのやり方で、抽出条件を

Between [Forms]![フォーム1]![開始日] And [Forms]![フォーム2]![終了日]

とする場合、
クエリパラメータダイアログにはどう記述したらよいのでしょうか?

[Forms]![フォーム1]![開始日]と[Forms]![フォーム2]![終了日]をそれぞれ別々にテキスト型としてもエラーですし、(「式が複雑です」とのエラー)
条件を全て記述しても、「かっこの使い方が正しくありません。」とのエラーです。

何が間違っているのでしょうか?

Aベストアンサー

日付関係の項目がすべて同じ属性ですか
・・・テーブルもフォームも・・・・・
(テキストならテキストで統一、DATE型ならDATE型)
------------------------------------------------------
フォーム2となっていますがフォーム1ではないのでしょうか
------------------------------------------------------
どうしてもエラーならば、クエリーを2つに分ける
・選択クエリーでセレクト指定する
・次にクロス集計クエリー
など

QRuby on Rails 「attr_accessor」 の使い方に

Ruby on Rails 「attr_accessor」 の使い方について

こんにちは。

現在、Ruby on Railsで登録画面を作成しているのですが、attr_accessorで定義した項目に対して、validationのチェックを行うと、問題が起きてしまいました。

attr_accessorで定義した項目は、DB登録の対象ではないのですが、lengthのチェック等を行う必要があり、validates_length_of等を使って入力チェックを行っています。

問題になったのは、入力があったときだけチェックをかけたいのに、入力がなくてもチェックがかかってしまうという状態になってしまうことです。
「:if => 項目?」を書いてみると、「undefined method」のエラーがでてしまいます。

どなたか対応策の分かる方がおられましたらご教授いただけないでしょうか?

下記に実際の問題箇所のモデルクラスのソースを書いておきます。

 class User < ActiveRecord::Base

   attr_accessor :NEW_USER_PW ← 追加したアクセサ

   # 追加したアクセサに対するチェック
   validates_length_of :NEW_USER_PW, :minimum=>4, :message=>"は%d桁以上を設定してくださ            
    い。", :on => :update, :if => :NEW_USER_PW?

 end

上記のチェック内の「:if => :NEW_USER_PW?」で落ちてしまいます。
入力がないのにチェックに引っかかるとまずいので、入力がないときだけ上記チェックを行えれば良いのですが・・・。

どうぞ宜しくお願い致します。

Ruby on Rails 「attr_accessor」 の使い方について

こんにちは。

現在、Ruby on Railsで登録画面を作成しているのですが、attr_accessorで定義した項目に対して、validationのチェックを行うと、問題が起きてしまいました。

attr_accessorで定義した項目は、DB登録の対象ではないのですが、lengthのチェック等を行う必要があり、validates_length_of等を使って入力チェックを行っています。

問題になったのは、入力があったときだけチェックをかけたいのに、入力がなくてもチェックがかかってしまうという状...続きを読む

Aベストアンサー

attr_accessor :NEW_USER_PWを定義したからといって、
NEW_USER_PW?メソッドが定義されるわけではりません。
attr_accessorはゲッターとセッターメソッドを作るだけです。
それ以外の論理値を返すようなメソッドは自作しなければなりません。

NEW_USER_PW?メソッドを作成されていないのなら、「undefined method」が
出てしまうのは当然です。

質問にあるように、「入力があった場合のみ」とありますので、
NEW_USER_PW?メソッドを下記のように実装すればチェック可能です。

def NEW_USER_PW?
@NEW_USER_PW.size > 0
end

また、ifにはprocオブジェクトを渡すこともできますので、
:if => Proc.new{|u| u.NEW_USER_PW.size > 0}
と書いてもいいでしょう。


NEW_USER_PWというインスタンス変数はすべて大文字を使用されていますが、
見る人によっては定数と勘違いします。
変数であれば小文字表記を利用するほうが良いかもしれません。

attr_accessor :NEW_USER_PWを定義したからといって、
NEW_USER_PW?メソッドが定義されるわけではりません。
attr_accessorはゲッターとセッターメソッドを作るだけです。
それ以外の論理値を返すようなメソッドは自作しなければなりません。

NEW_USER_PW?メソッドを作成されていないのなら、「undefined method」が
出てしまうのは当然です。

質問にあるように、「入力があった場合のみ」とありますので、
NEW_USER_PW?メソッドを下記のように実装すればチェック可能です。

def NEW_USER_PW?
@NEW_USER_PW.s...続きを読む

Qaccess2010 特定文字を含むレコード数のカウント、特定文字を含まないレコード数のカウント 同

access2010 特定文字を含むレコード数のカウント、特定文字を含まないレコード数のカウント


同一フィールドにて、Aを含むレコードのカウント、Aを含まないレコードのカウントを命令するには、どうクエリを書けば良いか教えて下さい。

Aベストアンサー

select
count(*),
iif(instr(項目,1,特定文字列)>0,1,0)
from テーブル
group by
iif(instr(項目,1,特定文字列)>0,1,0)

これで、どうにかなりません?
(スマホ、めんどくせー!)
http://www.office-kitami.com/lesson/afunction/instr.html


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報