• ベストアンサー

Access:Dcount関数

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

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

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

連番を設定しているフィールドを以下で 置き換えてみてください。 No: (SELECT COUNT(*) FROM 情報一覧 AS T WHERE T.番号<=[情報一覧]![番号])

picicate
質問者

お礼

みなさん遅くなってすいませんありがとうございます。 (まとめてですいません) 解決しました!

関連するQ&A

  • DCount の使い方について教えてください。

    Access の DCount の使い方についてご教授願います。 DCount関数を使って、連番を取るのですが、グループが切り替わってから 連番を初期化したいのです。 詳細は、添付画像をごらんいただければと思います。 なにとぞ、ご教授くださいませ!

  • Access DCOUNTの意味

    Access DCOUNTの意味 http://okwave.jp/qa/q3078359.html テーブルで重複があったものを除外したデータが欲しいと思い検索した結果上記のURLがヒットしました。 ページには、 Sum(1/DCount("*","TABLE1","ID='" & [ID] & "'")) という関数がありますが、ここの意味がわかりません。Dcountの意味は理解しました。 ただ、Sum(1/DCOUNT の意味がわかりません。 サイトに解説がかいてあるのですが・・・私には理解できません。 例えば、[ID]には001と002のIDコードがあるとします。 001には3レコード、002には2レコードあるとします。 DCOUNTで3という結果と2という結果を得られると思います。 よって、SUM(1/3 + 1/2) というように読み取れてしまいました。 上記だと2という値が取得したいのですが、私はどこを勘違いしているのでしょうか?

  • DCOUNT関数がなぜかカウントしない

    DCOUNT関数を使って顧客のデータから来店回数を抽出しようとしているのですが、エラーは出ないのですが、なぜかどの客も来店回数が0なのです。 顧客データがにはちゃんと来店日、売上などがかいていあるのですけど… DCOUNT関数のdatabaseに顧客の全データ(顧客の来店などのデーターを含む)のシート全体を指定して、フィールドに「ID番号」(顧客の)の列を指定して、クリテリアには集計するID番号の顧客ID番号を入力しています。 数字は出てくるんですが、どの顧客も来店回数0です。 エクセル2000を使っています。 なぜ、うまく計算されないのかさっぱり分かりません。 よろしくお願いします。

  • Access クロス集計でフィールド名001~連番

    テーブルAを元にクロス集計クエリを作り、フィールド名をDCount関数で連番になるようにしています。 列名: "枝番" & DCount("*","テーブルA","[商品番号]='" & [商品番号] & "' and 枝番<='" & [枝番] & "'") あまり詳しくない為、以下のページを参考にさせてもらいました。 http://okwave.jp/qa/q3037682.html すると、クロス集計クエリのフィールド名が以下のようになります。 枝番1 枝番10 枝番11…枝番2 枝番20… できることなら、枝番001 枝番002 枝番003…枝番010 枝番011…のように並んで欲しいのですが、そうするためにはどんな設定又は関数?が必要ですか? 作業環境は、OS:Windws7、使用ソフト:Access2003です。 勉強不足で申し訳ありませんが、ご教授お願い致します。

  • Access 番号をつける方法

    お世話になっております。 access2010でクエリに番号を割り振ろうと思っています。 「ID」は昇順に並んでおり、同一の「ID」に対しての連番をつけたいです。 クエリ フィールド名:ID、名前 001 田中 001 佐藤 002 山田 003 鈴木 ☆完成図 フィールド名:番号、ID、名前 1 001 田中 2 001 佐藤 1 002 山田 1 003 鈴木 Accessでもexcelのcount関数を使うことはできるのでしょうか? それとも、DCountを使うのでしょうか? 2つ関数の使い方や、用途の違いがよくわかりません。 ご存知の方教えて下さい。よろしくお願いします。

  • DCount 0が返ります。

    アクセスvbaで テーブルで該当の文字を抽出後のレコードの数を取得するしたいのですが 数 = DCount("[番号]", "T全て", "[分類] = '" & str分類 & "'") 数 = DCount("*", "T全て", "[分類] = '" & str分類 & "'") どちらも0が返ります。 str分類には、分類フィールドに必ず存在する文字列が入っています。 手作業でテーブルにフィルタをすると ちゃんとレコード数が見えるのですが DCountの何が間違ってるのでしょうか?

  • Access DCountでの連番について

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

  • [Access]別テーブルの最大値以降の連番振り

    過去の質問を色々調べたのですが、結局以下の連番の振り方が分からず・・・困っています。 どなたか助けて下さい。お願いいたします。 テーブルA(蓄積されている過去テーブル) 伝票番号  顧客NO  注文日 001 111111 2012/11/10 001 111111 2012/11/10 002 222222 2012/11/25 002 222222 2012/11/25 002 222222 2012/11/25 003 333333 2012/12/31 テーブルB(新規にインポートするテーブル) 004 444444 2013/02/01 004 444444 2013/02/01 005 222222 2013/02/15 005 222222 2013/02/15 006 555555 2013/02/15 006 555555 2013/02/15 上記のように、テーブルBをインポートした時に、伝票番号を「004,004,005・・・」という風に 顧客NO毎に連番を振りたいです。 DmaxやDcount関数を使う事はなんとなく分かったのですが、うまくいきません。 出来れば、クエリで実現したいと思ってます。 テーブルAにある顧客がテーブルBに出てきたとしても、関係なく連番が振れれば問題無いので、 テーブルAからは最大値+1の値だけ取れればいいです。 宜しくお願いいたします!!

  • 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'     を集計した結果)       を集計した結果)

  • rnd関数の使い方教えてください。

    初歩的かも知れませんが、よろしお願いします。 仕様環境:Access2007 Win7 ・・・・・ 只今、新規レコードに自動的にランダムな数字が割り振られるように テストしています。 調べたところ「rnd関数」というものを使うということが解りました。 試験用のデータベースを簡単に作り テーブルの項目(フィールド)も簡単にしました。 テストテーブル ------------------- ID(オートナンバー) 名前(テキスト型) 住所(テキスト型) 乱数(テキスト型)または(数値型)←あとで説明しますが。。 ------------------- 乱数のフィールドにある「規定値」にrnd関数を入力しテーブルを保存しようとすると、 「テーブルレベル入力規則の未定義の関数名です。。」と エラーが出てしまいます。テキスト型でも数値型でもです。 rnd関数は、、 int((200-100+1)*rnd+100) ↓入力してエンターを押すと Int((200-100+1)*Rnd()+100)となります。 つまり100から200までの間の数字をランダムに割り振ろうと挑戦しています。 ちなみにテーブルから「乱数」フィールドを消して、フォームにテキストボックスを作り、 コントロールソースに入力しても「未定義です」のようなエラーがでます。(関数の前に”=”もつけたのですが) また規定値に入力しビューで見ると「#Name?」となります。 クエリにrnd関数のフィールドを作ってフォームにつなげても出来ません。 (集計で「演算」にして作ってみたりしたのですが。。) まるっきりrnd関数の使い方がわかりません(汗)。 VBA(モジュール)は使わず、フィールドプロパティなど基本的な機能かマクロでやりたいです。 また重複しないようにしたいのです。 漠然とした相談ですが、どの場面(テーブルやクエリやフォーム)でどう使うか教えてください、 新規レコードにランダムな番号(複数桁で)割り振られるようにしたいです。 宜しくお願いします。

専門家に質問してみよう