• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ACCESS2000でDCount関数の使い方)

ACCESS2000でDCount関数の使い方

このQ&Aのポイント
  • ACCESS2000でDCount関数を使用して複数の条件でデータの集計と更新を行う方法について教えてください
  • Aテーブルの指定した条件でのデータのカウントをBテーブルに更新する方法について教えてください
  • Aテーブルの区分ごとに集計し、Bテーブルのカウント数に更新する方法について教えてください

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

  • ベストアンサー
  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.2

> ちなみに条件の年月、コード、区分全てテキスト型です。 多分、そう思って・・・「数値の前提」って、注意書きしたのよ^^;;; UPDATE Bテーブル SET Bカウント数1 = DCount('*','Aテーブル','[A年月] = ''' & [B年月] & ''' And [Aコード] = ''' & [Bコード] & ''' And [A区分]=''001'''), Bカウント数2 = DCount('*','Aテーブル','[A年月] = ''' & [B年月] & ''' And [Aコード] = ''' & [Bコード] & ''' And [A区分]=''002'''); と、言う話・・・ ''で、文字列の中に'を1つ挿入可能 だから、'''とシングルクオートが3つのところが、かなり増えた状況ね

noname#208236
質問者

お礼

できましした!!! ありがとうございます。すごく助かりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

とりあえず、B年月、Bコードが数値の前提で、SQL文 UPDATE Bテーブル SET Bカウント数1 = DCount('*','Aテーブル','[A年月] = ' & [B年月] & ' And [Aコード] = ' & [Bコード] & ' And [A区分]=''001'''), Bカウント数2 = DCount('*','Aテーブル','[A年月] = ' & [B年月] & ' And [Aコード] = ' & [Bコード] & ' And [A区分]=''002'''); と、言う感じ 'の関係がおかしいのと、SQL上のWhere条件を入れられないから、DCountに更新条件を追加

noname#208236
質問者

補足

やってみたのですが、「更新クエリですべてのレコードを更新できません。」1個のフィールドで型変換エラー、0件のレコードでキー違反、0件のレコードでロック違反、0件のレコードで入力規則違反が発生したため、レコードを更新できませんでした。とエラーがでました。 SELECT文にしても#エラーと表示されます。 もう少し教えてください。ちなみに条件の年月、コード、区分全てテキスト型です。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • クエリでのデータ更新について

    ACCESS2000で更新クエリの質問です。 フィールドの値の合計、カウントなどの集計値を計算するクエリから取り出された値を、更新クエリでデータを更新したいのですが、 「更新可能なクエリでありません」とエラーがでます。 LOOPする方法もあるのですが、できればクエリで一括更新したいと思います。 どなたかご教授お願いします。 やりたいことは下記のとおりです。Aテーブルを集計しBテーブルの個数にAテーブルの個数の合計値を更新する。 <Aテーブル> コード  個数 1     1 1     2 1     3 2     4 2     4 3     5 3     6 <Bテーブル> コード  個数 1      2      3    ↓↓↓更新後 <結果:Bテーブル>   コード  個数 1     6 2     8 3     11

  • Dcountの条件式の意味

    質問No.9247388でクロス集計のカウント数合計を条件にするSQLを教えて頂きましたが、その中の一式の意味が理解できません。 簡単にこの意味を教えていただけないでしょうか。なぜ&が最後にも付くのでしょうか。 <知りたい部分> くだもの='" & [くだもの] & "' <全体> TRANSFORM Count([テーブル1].個数) AS 個数の個数 SELECT [テーブル1].[くだもの], DCount("個数","テーブル1","くだもの='" & [くだもの] & "'") AS 個数 FROM テーブル1 WHERE (((DCount("個数","テーブル1","くだもの='" & [くだもの] & "'"))>1)) GROUP BY [テーブル1].[くだもの] PIVOT [テーブル1].月;

  • Accessのレポート上での計算

    現在4つのフィールドで=DCountを使ってリストの個数を返すクエリを組みました。 それをレポートで表示したのですが、この各フィールドの個数を合計したいんです。 テーブルB | A | B | C | D | ←このA~Dにはコンボボックスでタイプが入っています。 これから クエリ 式1:=DCount("*","テーブルB","[A]='タイプ1'") クエリを実行すると 1      式2:=DCount("*","テーブルB","[A]='タイプ2'")  クエリを実行すると 0      式3:=DCount("*","テーブルB","[A]='タイプ3'")  クエリを実行すると 1 が表示 といったようにクエリで選ばれている個数を算出しています。 このクエリを使ってレポートを作ったのですが、 レポートフッターに =Sum([式1]+[式2]+[式3]) という式を入れてレポートを表示すると 「101」と返ってきてしまいます(表示されている数字が順番にならんでる)。 目的としては「2」にしたいのですが、式が違うのでしょうか? 初心者バリバリの質問で申しわけありませんが、ご教授いただけますようお願いいたします。

  • アクセス2000で、期日を範囲指定してのカウントの仕方

    テーブルの氏名フィールドの列に個人名を、年月フィールドの列に年月を入力。年月は日付時刻型で書式は時刻にして、16:01と入力すれば「16年1月」のことと自分で解釈するようにしています。同一月に同一人が複数入力されている月がかなりあります。 これを元にクエリを作成して、たとえば16年1月から同6月までの範囲内に誰が何回入力されているかを出したいのですがうまくいきません。 選択クエリのフィールドに 氏名 氏名 年月 と追加し、集計をクリックし、二つ目の氏名をカウントに、年月の抽出条件を Between16:01and16:06としたのですが、これだと1月にAさんが3、Bさんが1というように表示されるのですが、2月にも同じようにAさんが5、Bさんが2というように、月毎に氏名がカウントされてしまいます。私のほしいのは、1月から6月までの間にAさんが15、Bさんが8というように各人別にまとまったカウントがほしいのです。 下手な説明で申し訳ないですが、アドバイス頂ければありがたいです。

  • vba DCount

    アクセスです。 int数 = DCount("[番号]", "Q内容", "[画像のパス]" <> Empty) このコードはおかしいですか? クエリQ内容の中の、画像のパスフィールドがないレコードの数をカウントしたいのですが、 実際は、画像のパスフィールドがEmptyではない数は、30件あるのに、 上記のコードを通すと、Q内容の全てのレコードの件数が返ります。 何故でしょうか?

  • ACCESS 更新クエリについて

    更新クエリで更新したいのですが、クロス集計クエリの数値を元にテーブルを更新することは出来ないようで、困っています。 なぜそのようなことをしているかと申しますと、 商品品目_個数_コード(主キー) のようにフィールドを持っているのですが、 印刷に関しては品目ごとに印刷したい、ということで 一度クロス集計クエリ(TRANSFORM)で りんご_ばなな_ぶどう_コード(主キー) 数値_数値_数値_数値 のような並びにして、テーブル作成クエリでテーブルを作成し そのテーブルをレポートに使用しています。 数値などが変わった場合その作成したテーブルの数値を 作成元になったクロス集計クエリで更新したいのですが、出来なくて困っています。 テーブル作成クエリで上書きすると、古いデータが消えてしまうため 何か良い方法はないかと思っています。 回答のほどお願いします。

  • 【アクセス2010】フィールドの最大値のみ表示

    アクセス2010を使用しています。 下記のようなテーブルがあり、クエリを使ってそれぞれの「ID」に紐づいている「区分」の最大値のみを表示させたいです。 ID 区分 年月 10 100 2011/1/1 10 110 2011/3/8 10 150 2015/4/1 13 110  13 140  21 140 2016/12/7 21 160 2017/7/7 21 150 2017/1/8 「年月」を最大で集計すると、年月が入っていないIDが重複して出てきてしましますが、 「区分」を最大で集計しても、すべてのデータが表示されます。 アクセスを触り始めたばかりなので、詳細に(どこを押す、どの欄になにを書く等)教えていただけますととても助かります。 よろしくお願いいたします。

  • クエリ式でDcount の代わりは?

    クエリでわからないことがあります。 添付図のように、商品IDに対する部門IDの個数(または有無)を調べたいと思って、 部門1: DCount("[部門ID]","[T_部門]","[商品ID]=" & [T_商品情報].[商品ID] & "and [部門ID]=1") 部門2: DCount("[部門ID]","[T_部門]","[商品ID]=" & [T_商品情報].[商品ID] & "and [部門ID]=2") と、[Q_発注管理]のクエリ式に入れてカウントはできたのですが、重くなってしましました。 このような場合、簡単に下記のような結果を得られるような方法はないでしょうか? ※ 今のところ、[Q_発注管理]は、選択クエリです。、 ※ [T_商品情報]と[Q_発注管理]のレコード数(6万くらい)は同じになります。 ※ 部門1(部門2)は、個数でなく、有無(True,False)でもいいです。

  • accessでdcount使用法

    テーブルAに「性別」「名前」「合否」のフィールドがあります。 フォームにテキストボックスを置き、そこに ”性別=男”でありかつ”合否=合格” の人数を表示させたいのですが、 =DCount("性別","テーブルA","性別='男'" And "合否='合格'") ではダメでした。。。 上記の結果を出すコードを教えてもらえませんか? よろしくお願いします

  • アクセスで、条件を付けてカウントしたいです。

    アクセスで、条件を付けてカウントしたいです。 前回こちらで助けていただきました。 http://okwave.jp/qa/q5906286.html おかげで、ほしかったデータベースを作ることができとても感謝しております。 今回、そのデータベースを使い集計している最中に戸惑ってしまう点があり 再度質問させていただきます。 できあがったデータは、添付の画像のようになっています。 そこから来店回数ごとに○×をカウントしたいです。 たとえば、 1回の来店者でAの購入者は5人、Bの購入者は6人、Cの購入者は3人 といったように、一つのクエリで作成したいです。 http://mar1224.fc2web.com/site/access_index03.html こちらのように集計をカウントにして、○×の個数を出すことはできたのですが 一回の集計で複数の商品の購入の有無をデータ化することができませんでした。 目指すものとしては下記のようなデータにしたいです。 来店回数     A購入     B購入     C購入     D購入  1回      80人      90人      53人     24人        2回      70人      100人      74人     55人   3回      93人      44人      42人     77人   4回      55人      63人      23人     66人   5回      80人      90人      53人     24人   6回      80人      440人      52人     24人  Dcount関数を使ってみたのですが うまくいきませんでした。 ちなみに使った式としては A購入= DCount("名前", "3月の来店者データ", "A購入='○'") こちらにすると来店回数とうまく紐づけられませんでした。(トータルの○の個数が出てしまいます。) こちら初歩的な質問で申し訳ございませんが、 アドバイスいただけると幸いです・・・涙 よろしくおねがいいたします。

MFC-J998の修理について
このQ&Aのポイント
  • MFC-J998DWNの紙詰まりトラブルについて相談したいです。修理にかかる日数と電話の使用について教えてください。
  • パソコンのOSはWindows10で、有線LANで接続しています。関連するソフトやアプリはありません。電話回線は光回線です。
  • ブラザー製品のMFC-J998DWNで発生した紙詰まりの修理をお願いしたいです。修理にかかる日数と電話の使用について教えてください。
回答を見る