• 締切済み

AccessのDcount関数の条件

AccessのDcount関数に設定する条件ですが Switch関数やIIFなどは使用でじるのでしょう。 また、クエリ(select ~)も書くことができるのでしょうか。 設定できる場合は、どの様に記述すればよいのでしょうか。

みんなの回答

  • bardfish
  • ベストアンサー率28% (5029/17765)
回答No.1

記述可能な条件式は、SELECTのWHERE句に記述できるものと同等と認識しています。 それ以上に複雑なことをやりたいときはVBAを使用します。 というよりも、私ならクエリーや関数はほとんど使用せずほぼすべてをVBAで記述しちゃうか、Accessはデータベースの機能だけを利用してフロントエンドの処理はVisualBasicを使います。 最近はAccessはデータベースのデータメンテ用の便利なツール的な使い方しかしてません。データベースサーバーのテーブルをリンクテーブルとしてアタッチし、サーバーのデー値を直接追加/修正/削除するには楽ちんですよね。SQLで同じことをやろうとするとたま~にテーブルの前レコードを削除することもありますから(笑) そういうときはトランザクションを使って事前に結果を確認してから本番のSQLを流すようにしてます。

abc999xyz
質問者

お礼

そもそもDcount関数でSwitch関数やIIF関数の条件分けをすることじたいが間違っている気がしています。 AccessなのでVBAとかでやってみます。 ありがとうございました。

abc999xyz
質問者

補足

ありがとうございます。 DCountの条件にSwitch関数を書けましたが、判定していないみたいです。 select DCount("*","table1","ID <='" & [ID] & "' AND Switch(条件式)>='" & '0' &"'") from table1; としているのですが、Switch関数の戻りが同じになるみたいなのですが。

関連するQ&A

  • Accessでの関数

    Access2002を利用しています。 Accessのクエリの中で、関数を利用し、例○○(条件)ならばAと表示し、そうでなければBとしなさいみたいな条件判断するような問題がありました。 私はIIF関数で求めたのですが、答えを見るとSwitch関数というのが使われていました。Switch関数というのがわからずに、Accessのヘルプで探そうとしたんですがん、表示してくれません。 この2つの関数 Switch関数とIIF関数の違いがわかりません。 出来れば、わかりやすく噛み砕いた表現で教えていただけませんでしょうか?

  • AccessのDCOUNT関数のcriteria

    AccessでDCOUNT関数を使用したいのですが、 criteriaの書き方がよく分かりません。 「&」をつける場合や「'」をつける場合(文字列の場合に付ける とはありますが)、「"」の有無など基本的な意味がわからないので コンパイル時によくエラーになってしまいます。 それを詳しく解説してあるURLでもあれば教えていただきたいので すが。 よろしくお願いいたします。

  • IF関数ではなくIIF関数を使うのでしょうか?

    なぜアクセスのクエリでIF関数を使う時は エクセルのようにIF関数ではなくIIF関数を使うのでしょうか? アクセスのクエリで条件分岐をしたいときはIIFを使っています。

  • DCOUNT関数で空白セルであることを条件にしたい

    DCOUNT関数についての質問です。 スプレッドシートでDCOUNT関数を使用していますが、条件設定で、「セルが空白の場合」の設定ができません。COUNTIFでできるような「""」や「"="」にしたりと試してみましたができませんでした。 具体的には、以下のように、3つある条件のうちの1つが「セルが空白の場合」で、それら3つの条件全てを満たすものの数を数えたいです。 初歩的な質問で恐縮ですが、「セルが空白」を条件とする書き方を教えていただきたいです。よろしくお願いします。 なお、DCOUNT関数はスプレッドシートでもExcelでも使用できるので、カテゴリはExcelにしています。 <やりたいこと> 以下の3つの条件を全て満たす数値の数をカウントする 条件1 性別が男性 条件2 年齢が40以上 条件3 既往歴なし(セルが空白) <データベース(実際のデータ数はもっとあります>    A   B   C   D   E   F   G 1  氏名  住所  年齢 性別  身長  体重  既往歴 2  山田  東京  42  男性  168   72 3  武田  静岡  54  男性  171   81  脳卒中 4  田中  和歌山 24  女性  159   54 <条件>    I   J   K 1  性別  年齢 既往歴 2  男性  >=40 【ここをどう書けばよいか】 <数式> =DCOUNT(A1:G4,C1,I1:K2)

  • Access:Dcount関数

    Access:Dcount関数 の使用方法について質問です。 テーブル作成クエリで新規フィールドに通し番号として新たに連番を打ちたいのですが、 No: DCount("番号","情報一覧","[番号]<=" & [情報一覧]![番号]) このようにした場合に結果は10,13,15,19のようにとびとびの番号しか出てきませんでした。 関数を誤って理解してるものとは思うのですがどうおかしいのかがよくわからず; 「番号」は連番ではなく、重複ないIDです。 よろしく御教授ください。

  • 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の複数条件での結果を表示

    今、貸アパートの水道料金請求のデータベースをACCESSで作っていますが、クエリで水道使用量:[先月検針]ー[今月検針]で当月の使用量まで出しました。使用料金:IIF(水道使用量]<100,とIIF関数を使おうと思ったんですが、これでは条件は1個しか指定出来ないですよね。使用料金は例えば、100未満が300円、100以上200までが400円と20個くらいに使用量によって、金額を変えて表示したいのです。IIF関数では、条件が1個しか指定できないのでしょうか?EXCELではAND関数とかを組み込むとたくさんの条件を指定できますが、ACCESSではどうすればいいのでしょうか?LOOKUP関数みたいなのがあるのでしょうか?教えて下さい。

  • Access Dcount関数で引数が指定できない

    ACCESSのVBAで社内システムを作っています。 Dcount関数の引数1であるフィールド名を指定すると、下記のようなエラーが出てしまいます。 「クエリ式'Count(2A)'の 構文エラー:演算子がありません。」 色々切り分けして以下のような法則を見つけました。 ・フィールド名が数字のみの場合→使用できる ・フィールド名の先頭が数字以外の場合→使用できる ・フィールド名の先頭が数字(全半角共に)の場合→エラー発生 全社システムからACCESSにインポートするデータのフィールド名が「2A」「3A」などの商品コードになっているためこのまま使用したいのですが、手段はありますでしょうか。 ■使用しているツール Microsoft Office Access 2007 よろしくお願いします。

  • アクセスの関数一覧サイトについて

    お世話になります。 以下のようなアクセスの関数のお勧めの関数サイトについて教えてください。よろしくお願いいたします。 ※ 私はエクセルから入ったアクセス初心者ですが、クエリで関数を使いっています。例えばエクセルでは「if」がアクセスでは「iif」等、少し戸惑います。 ※ アクセス関数一覧表と使用例、またできればエクセルの場合ではこの関数を使うがアクセスではこの関数というような対比(例)をしめしたようなお勧めサイトはないでしょうか? 教えてください。よろしくお願いします。

  • Access DCountでの連番について

    DCountで連番を追加したいのですが演算対象条件の記述方法が良く分かりません。 調査用品別販売データクエリの商品コードフィールドに対して連番を振りたいです。 商品コード、連番 00110 1 00110 2 00120 1 00120 2 上記のようにしたいのですが 式1: DCount("商品コード","調査用品別販売データ","商品コード=" & [調査用品別販売データ]![商品コード]) これではエラーが出てしまいます。

専門家に質問してみよう