こんにちは。

以前エクセル→アクセスという行程で行っていた作業を、アクセスで一本化しようと考えています。そこで、エクセルで言う「COUNTA」や「COUNTIF」のような式を使いたいのですが、どの様に行えばよいか、教えて下さい。内容は以下の通りです。


(1) 「1日」~「31日」、「1~3」「2及び3」「3のみ」というフィールドが用意してあります。「1日」~「31日」は「0 or 1 or 2 or 3」という入力規制を掛けてあります。

(2) 「1日」~「31日」の、「1~3」の入力してあるフィールド数、「2~3」の入力してあるフィールド数、「3」の入力してあるフィールド数を各々数えたいのです。(あくまでも数字の合計ではなく、条件に沿った数字のあるフィールドの数です)

(3) できれば、エクセルで言う「COUNTA」や「COUNTIF」のような、フィールドに入力したら直ぐに「1~3」「2及び3」「3のみ」に反映でき、フォーム上で見れるようなモノが望ましいです。


以上、望みにあった式等、ありましたらご教授願います。長文失礼しました。

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

A 回答 (3件)

ACCESSのヘルプの貼り付けです^^;



DCOUNT(Database, フィールド, Criteria)

Database リストまたはデータベースを構成するセル範囲を指定します。Database は、関連データのリストです。

フィールド 半角のダブル クォーテーション (") で囲んだ列のラベル、またはリストでの列の位置を示す番号を指定します。

Criteria 指定した条件が設定されているセル範囲を指定します。セル範囲には、列ラベルが 1 つと検索条件を指定するセルが少なくとも 1 つ含まれています。
    • good
    • 0
この回答へのお礼

御回答有難う御座います。

ヘルプをちゃんと確認すべきでしたね(^^ゞ

お礼日時:2005/04/20 21:17

>「1日」~「31日」の「1~3」の入力してあるフィールド数「2~3」の入力してあるフィールド数「3」の入力してあるフィールド数を各々数えたいのです。


これは「1日」~「31日」のレコードがあって「1~3」「2及び3」「3のみ」のフィールドの入力されたカウントを取りたいということでしょうか?

例えばテーブル名をTest、「1~3」をA「2及び3」をB「3のみ」をCというフィールド名とした場合
SELECT Count(test.A) AS Aのカウント, Count(Test.B) AS Bのカウント, Count(test.C) AS Cのカウント
FROM test
WHERE (((test.日付) Between "1日" And "31日"));

これでテーブル内にある「1日」から「31日」のレコードの「1~3」・「2及び3」・「3のみ」のカウントが出来ます。ただテーブル内の日付フィールド?に[1日]等のレコードが重複してある場合は全てカウントされてしまいます。
1ヶ月ごとにカウントするのでしたら別に該当する月を抽出する記述が必要になります。(レコードをどのように抽出するか質問内容からは不明のため)

テーブルのクエリを作り集計クエリにし余分なフィールドを外し「1~3」等のフィールドをカウントに設定すれば同様に出来ます。新規で選択クエリを選びウィザードに従って進めてデザインで集計にすれば簡単にできます。
WHERE文でどのように抽出するかなどご希望に合わせてやってみてください。
質問内容と違うようでしたらゴメンなさい。
    • good
    • 0
この回答へのお礼

御回答有難う御座います。

WHEREで抽出するやり方はいままで知りませんでした。勉強になりました。

お礼日時:2005/04/20 21:19

#1の補足説明です



Q_日計表集計というクエリの
入金方法フィールドの
種目番号が1で
入金方法が1のレコードのカウントです^^

=DCount("[入金方法]","Q_日計表集計","[種目番号]= 1 AND [入金方法] = 1 ")
    • good
    • 0

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

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

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

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

Q建築条件付き、を英語で

「建築条件付き」は英語でなんというのでしょう。
英語圏の建築基準を知らないので、対応する状態があるのかどうかもわかりません。ご存知の方がおられましたら、よろしく。

Aベストアンサー

これは、例えば、分譲宅地を購入するときに、その土地の販売業者(住宅会社)の住宅を建築することを条件とする、という意味ですね?

英語国であるアメリカでは、開発業者や住宅会社などが多くの区画を買取り(または開発し)、住宅を建てて「土地と住宅」をいっしょに販売しますので、一区画だけを売ることはありません(断定は出来ませんが、ほとんどないケースと考えられる)。住宅建築を受注し一緒に販売する(buid-to-order)か、建売住宅(米国ではspec home が業界用語)として販売するかが普通です。

よって、日本で言うところの「建築条件つき」というのにピッタリの得英語表現はないので、その表現したい内容によって説明的に書くしかありません。

「建築条件付の宅地を購入した」

I purchsed a subdivision lot subject to construction of a home (by the (land) seller).

I bought a housing lot on condition that the (land) seller will
build a house for me.

「建築条件付宅地(購入)」

a subdivision lot subject to construction of a home (by the lot seller)

(the right to purchase) a parcel of land incorporating an agreement for the construction of a home by the (land) seller.

「建築条件付き土地購入契約」

a land purchse contract with home construction riders
(ridertとは契約書などでの「追加条項」といった感じです)

どのようなコンテクストでの「建築条件付」かわかりませんが、上記の例の応用では無理なら、その文全体(及びどのような文書か)を教えてください。

土地や住宅などの不動産はどの国にも長い独自の考え方や歴史があり、それをベースに来ているので、コンピュータなどとちがい、ピッタリの言葉はないことが多いですね。日本語の「所有権」という言葉にしろ、それに100%合致する英語はないようですね。日米の不動産にかかわる係争では、日英語の契約書の用語の解釈で弁護士が「日本語で一番近い概念は・・・」とかいってやってますね(→だから、国際契約では何語を正式にし準拠法は・・・が重要になってくる)。英→日ではescrowなどというのも、日本にはない考え方・システムですから、ピッタリの日本語はないのえ「エスクロー」と書いたりしているのでしょう。

これは、例えば、分譲宅地を購入するときに、その土地の販売業者(住宅会社)の住宅を建築することを条件とする、という意味ですね?

英語国であるアメリカでは、開発業者や住宅会社などが多くの区画を買取り(または開発し)、住宅を建てて「土地と住宅」をいっしょに販売しますので、一区画だけを売ることはありません(断定は出来ませんが、ほとんどないケースと考えられる)。住宅建築を受注し一緒に販売する(buid-to-order)か、建売住宅(米国ではspec home が業界用語)として販売するかが普通です。
...続きを読む

QAccessの「フィールドプロパティ」の「定型入力」について

Accessでテーブルを作成するとき,フィールドに数字を入力したとき,「,」が表示されるようにしたいのですが,どのようにしたらいいか教えて下さい。
(フィールドのデータ型は「数値型」です。)

プロパティの定型入力で,何らかの設定をすればいいのではないかと思うのですが,ヘルプなどを見ても適当なものが見当たりません。

どうかよろしくお願いします。

Aベストアンサー

No.1です。
まず、前回の回答で、言葉がやや不正確でしたことをお詫びします。

『定型入力』は、『入力最中に「,」を表示させる場合』に、
『書式』は、『入力が終了したデータ(既存/最新とも)で「,」を表示させる場合』に、
それぞれ使用して下さい。

ですので、入力最中の表示については、
 a)「111,111,111」を入力する際の桁数のわかりにくさ
 b)「111」を入力する際に「_ _ _,_ _ _,111」と表示される煩わしさ
のどちらが許容できるかで、『定型入力』を設定するかどうかを選択して下さい。
(「_(アンダーバー)」の代わりに別の文字(「*」など)を表示させる手段はありますが、
 この空間そのものをなくすことはできなかったと思います)


なお、今後、小数(通貨型/単精度浮動小数点型/倍精度浮動小数点型)のデータ
を扱う場合のアドバイスになりますが・・・
『書式』に「#,###.###」と設定すると、「100」は「100.」、「1234」は「1,234.」、
「1234567.89」は「1,234,567.89」、「987.654321」は「987.654」と、
それぞれ表示されるようになります。
(整数部は「#,###」なら3桁区切り、「#,####」なら4桁区切りの指定になり、
 小数部は「.」以下の「#」の数で小数点以下の最大表示桁数の指定になります)

※この形で設定した場合、各レコードで小数点の位置が揃えられます。
  このため、小数点3桁の表示を設定した場合、「1」は「1.  」といった感じで
  右側に空白が入った形で表示されるようになります。
  (あまり小数部の桁数を大きくすると、フィールドの幅を広げないと整数部の
  左端が切れてしまうことに・・・)


【余談(?)】
今まで、設定項目やフィールド名・コントロール名に『』、設定値などの値に「」を、
という使い分けをして回答したことは何度かありましたが、質問者の方にそれに
倣っていただいたのは初めてな気がします(笑)
ありがとうございました。

No.1です。
まず、前回の回答で、言葉がやや不正確でしたことをお詫びします。

『定型入力』は、『入力最中に「,」を表示させる場合』に、
『書式』は、『入力が終了したデータ(既存/最新とも)で「,」を表示させる場合』に、
それぞれ使用して下さい。

ですので、入力最中の表示については、
 a)「111,111,111」を入力する際の桁数のわかりにくさ
 b)「111」を入力する際に「_ _ _,_ _ _,111」と表示される煩わしさ
のどちらが許容できるかで、『定型入力』を設定するかどうかを選択して下さい。
(...続きを読む

Qノルマン・コンクエスト以前の英語には未来時制と条件法はなかった?

ノルマンコンクエストの以前には未来時制(future tense) や条件法(conditional)は英語には存在しなかったのでしょうか?

Aベストアンサー

英語を始め、ゲルマン系は古くは現在と過去しか時制がなく、純粋な意味での未来は現在形で表していました。唯一 be 動詞だけは、ic eom, thu eart, he is, we sind (I am, thou art, he is, we are) に対して ic beo, thu best, he beth, we beon が未来として使われていましたが、もともと beon (今の be) は意味的に未来「~になる」だからです。
一方、willan, sceallan (will, shall) を用いた表現もありましたが、意志や義務の未来と解釈できることも多く、単純な未来は現在形ですますことも多く、現代のように will が多用されてはいませんでした。
条件法という言い方は英語ではあまりされませんが、フランス語のように、条件文の主節の形(would 原形)のこととすれば、条件法ではなく接続法(仮定法)を用いるのが多かったようで、これはかなり後まで残りました。具体例で書くと(古英語では分かりづらいので単語は現代のものに置き換えます)

現代語で
If he knew your address, he would write to you.
と言うところを
If he knew your address, he wrote to you.
のように表していました。ドイツ語では今でもこのやり方ですが、英語のように主節に 「wuerde 不定詞」を用いる方法もあります。

英語を始め、ゲルマン系は古くは現在と過去しか時制がなく、純粋な意味での未来は現在形で表していました。唯一 be 動詞だけは、ic eom, thu eart, he is, we sind (I am, thou art, he is, we are) に対して ic beo, thu best, he beth, we beon が未来として使われていましたが、もともと beon (今の be) は意味的に未来「~になる」だからです。
一方、willan, sceallan (will, shall) を用いた表現もありましたが、意志や義務の未来と解釈できることも多く、単純な未来は現在形ですますことも多く、現代のよ...続きを読む

Qアクセス iif計算式 フィールド1 品名 フィールド2 単価 フィールド3 割り引きbit(1あり

アクセス iif計算式

フィールド1 品名
フィールド2 単価
フィールド3 割り引きbit(1あり、0なし)
フィールド4 割引後単価

上記なようなフィールドで割引きがあるに1が立った場合、フィールド4に一定の額100円をマイナスした額を返すには、iifではどのように書くのでしょうか?

Aベストアンサー

https://support.office.com/ja-jp/article/IIf-%E9%96%A2%E6%95%B0-32436ecf-c629-48a3-9900-647539c764e3

iif(条件式,trueの場合,falseの場合)
iif(割り引きbitが1か?,単価から100円マイナス,"")

Qワーキングホリデーの参加条件(英語力)tell me

ワーキングホリデーの参加条件ってあるのですか?英語力がなくても大丈夫なのですか?
働くわけですから英語がある程度しゃべれないとダメですよね。働くとしたらいくらぐらい給料がもらえるのですか?
知っている方がいたら教えてください。

Aベストアンサー

ワーキングホリデービザ自体は、英語力がなくても取れるはずです。

#1の方も書いていらっしゃいますが、自国の国民ができることを、わざわざ他の国の人を雇ってまで仕事を任せるほど甘いものではありません。「この人ではなくちゃダメ」という何かがないと現地の(日本人が経営するところ以外)会社などでは雇って貰うこと出来ません。(もちろん、英語力も必要です) それに、そういうところでは3ヶ月(オーストラリアの場合ですが)しか働けないワーキングホリデーメーカーを雇うかどうかはちょっと疑問に思うところです。
ちょっと厳しい言い方をしましたが、私が(留学ビザですが)滞在していた8年ほど前ですら、そういう現状でしたので、益々ホリデーメーカーの渡航が多くなっている今はもっと厳しいのではないかと思いますよ。

あと、勘違いして欲しくないのがワーキングホリデービザの本来の目的は、働くということが主な目的のものではなく、あくまでもホリデー つまり長い期間の休みを使ってホリデーを楽しみ、旅費が少なくなったらはたらけるというビザですので、(カナダでは何ヶ月かわかりませんが)オーストラリアでは、同じ所で働ける機期間が(私が滞在した時は)3ヶ月でした。

ワーキングホリデービザ自体は、英語力がなくても取れるはずです。

#1の方も書いていらっしゃいますが、自国の国民ができることを、わざわざ他の国の人を雇ってまで仕事を任せるほど甘いものではありません。「この人ではなくちゃダメ」という何かがないと現地の(日本人が経営するところ以外)会社などでは雇って貰うこと出来ません。(もちろん、英語力も必要です) それに、そういうところでは3ヶ月(オーストラリアの場合ですが)しか働けないワーキングホリデーメーカーを雇うかどうかはちょっと疑問...続きを読む

Qアクセス 正味の算出 フィールド1 オートID フィールド2 顧客No フィールド3 商品名 フィー

アクセス 正味の算出

フィールド1 オートID
フィールド2 顧客No
フィールド3 商品名
フィールド4 単価

このようなテーブル構成で、顧客Noでグループ化して、IDのカウントした結果が1、2となります。
その際、1の場合は1、2の場合は0.5と別フィールドに記載する方法を教えて下さい。

Aベストアンサー

>本当はIDのカウントが2以下なら1を3以上なら999(数値で0、1以外なら何でも良いです)

IIf([IDのカウントした結果のフィールド名]>=3,999,1)

Q英語ができるのはなぜ無条件に支持されるのですか?

いつも思うのですが、たとえば東大生が学歴を自慢したら、「学歴ばかり高くても実力が伴わなければ使いものにならない」と言われるにきまってますし、社会や理科、あるいは趣味に関する深い知識を披露したり、それに関する難関資格を自慢したら、「あいつはオタクだ」などとネガティブなことを言われることが多いですが、なぜ英語ができることを自慢したら、無条件に「すごいね~」というふうになるのでしょうか?

「英語だけできても他のことができなければ使いものにならない」とか、「あいつは英語マニアだ」みたいにネガティブに受け取られない理由は何だと思いますか?

Aベストアンサー

英語であろうが、社会・理科であろうが、
テストの点数がよければ、無条件に凄いね~って思います。

でも、テストで良い点取ることだけに執着して、その後何にも活かしてないなら
「英語だけできても他のことができなければ使いものにならない」とか、「あいつは英語マニアだ」って思います。

「会話」が出来る人は、どの国の言葉でも凄いです。
他の国の人と会話が出来る事は、素晴らしいなぁと思うからです。
流暢な日本語をしゃべる外国人さんに出会った時も、凄いなぁと思いました。

Q「1/1」と入力すると「1月1日」になってしまう

初心者です。よろしくお願いします。

Excel 2004で、「1/1」と入力すると自動的に
「1月1日」に修正されてしまいます。
「1/1」と入力して、そのままにしておきたいのですが、
どうすればいいのでしょうか。
よろしくお願いします。

Aベストアンサー

「'1/1」と入力して下さい。

Q英語で動作を条件として箇条書きにする場合

英語で動作を条件として箇条書きにする場合、どのように書けば良いでしょうか?

例えば、「良い人間の条件は3つある。1つ目は嘘をつかないこと。2つ目は他人を貶さないこと。3つ目は自らを卑下しないこと。」という文章を英訳する場合、各条件はどのように英訳すれば良いでしょうか。

動名詞にすれば良いかと思ったのですが、自分では上手く書けませんでした。

どなたかご助力ください。よろしくお願いします。

Aベストアンサー

<訳例>

There are three conditions for a good person.
First: Do not tell a lie.
Second: Do not look down on others.
Third: Do not disparage yourself.

QAccessVBAで「このフィールドに入力した値が正しくありません」というエラー

以下のようなコードを書いて実行しているのですが、
下から5行目のところで
「このフィールドに入力した値が正しくありません」というエラーが出てしまいます。
いろいろと調べたのですが、原因が全く分かりません。
どこを直せばいいのか、
又は、どんなところを調べるべきか、知識のある方、教えていただけないでしょうか。

Private Sub cboF_新規契約登録_ヘッダ管理番号選択_Change()
Dim cn As ADODB.Connection
Dim rs1 As ADODB.Recordset
Dim rs2 As ADODB.Recordset
Dim MySQL As String
'接続
Set cn = CurrentProject.Connection
'定期取引ヘッダ レコードセット取得
Set rs1 = New ADODB.Recordset
'
'画面上にデータをフィル
'SQL作成
MySQL = "select * from Q_F_新規契約登録_定期取引ヘッダ内容抽出"
MySQL = MySQL & " where 会社コード = '" & [Forms]![F_TOP]![会社選択] & "'"
MySQL = MySQL & " and ヘッダ管理番号 = " & Me!txtF_新規契約登録_ヘッダ管理番号
MySQL = MySQL & " and LOCAL_補助科目マスタ.科目コード = '3311'"
'Open
rs1.Open MySQL, cn, adOpenStatic, adLockReadOnly
rs1.Find "ヘッダ管理番号 = " & Val(txtF_新規契約登録_ヘッダ管理番号)
'フィル
Me!txtF_新規契約登録_引落額 = rs1!引落額'<=ここでエラー
rs1.Close: Set rs1 = Nothing
'コネクションクローズ
cn.Close: Set cn = Nothing
End Sub

以下のようなコードを書いて実行しているのですが、
下から5行目のところで
「このフィールドに入力した値が正しくありません」というエラーが出てしまいます。
いろいろと調べたのですが、原因が全く分かりません。
どこを直せばいいのか、
又は、どんなところを調べるべきか、知識のある方、教えていただけないでしょうか。

Private Sub cboF_新規契約登録_ヘッダ管理番号選択_Change()
Dim cn As ADODB.Connection
Dim rs1 As ADODB.Recordset
Dim rs2 As ADODB.Recordset
Dim My...続きを読む

Aベストアンサー

エラーが発生した時「rs1!引落額」の値がNullになっていませんか?
エラーで一時停止したときに、イミディトウィンドウで「? rs1!引落額」したときの値を確認してください。

= IIf(IsNull(rs1!引落額),"",rs1!引落額)
s
とすれば、エラーはでないかもしれません。


人気Q&Aランキング

おすすめ情報