次の方法で共有

Access アイテムごとの日付に順番をつける方法

Anonymous
2012-05-15T05:03:04+00:00

テーブルにアイテムごとの期間(開始日・終了日)と処理日がリストされているとします。

処理日 アイテム名 開始日 終了日
2010/4/28 A 2010/5/1 2011/4/30
2011/4/26 A 2011/5/1 2012/4/30
2012/5/7 A 2012/5/1 2013/4/30
2011/4/26 B 2011/5/1 2012/4/30
2012/5/7 B 2012/5/1 2013/4/30
2010/5/25 C 2010/5/1 2011/4/30
2011/4/26 C 2011/5/1 2012/4/30
2012/5/7 C 2012/5/1 2013/4/30

このとき、下記のようにアイテムごとに日付の新しい順に番号を振るフィールドを作成するようなことをAccess上ですることは可能でしょうか?

処理日 アイテム名 開始日 終了日 日付順
2010/4/28 A 2010/5/1 2011/4/30 3
2011/4/26 A 2011/5/1 2012/4/30 2
2012/5/7 A 2012/5/1 2013/4/30 1
2011/4/26 B 2011/5/1 2012/4/30 2
2012/5/7 B 2012/5/1 2013/4/30 1
2010/5/25 C 2010/5/1 2011/4/30 3
2011/4/26 C 2011/5/1 2012/4/30 2
2012/5/7 C 2012/5/1 2013/4/30 1

データをExcelにエクスポートして、Excelのマクロで処理することはできるのですが、

この後まだAccess上で操作が必要なため、Accessで全て処理できればいいなと考えております。

ご教授頂けましたらありがたいです。

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

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2012-05-15T06:26:32+00:00

こんばんは、ずっちです。

こんな更新クエリを作ってみました。

[レコードの更新] には以下のように書かれています。

DCount("*","[テーブル2]","[アイテム名]='" & [アイテム名] & "' AND [日付]>=#" & [日付] & "#")

で、実行結果↓

いかがでしょうか?

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

3 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2012-05-15T08:28:10+00:00

    ずっちさん、

    ご丁寧にご説明頂きましてありがとうございます!

    理解できました。

    型変換エラーですが、テーブルを作り直してみたら解消しました。

    フィールド型は同じように設定していたのですが・・・・・何が悪かったのかは不明です・・・・。

    本当にありがとうございました!

    助かりました。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2012-05-15T08:14:59+00:00

    ずっちです。

    フィールド型変換エラー、どこが問題だったんでしょうね…

    ちなみに今回テストで使ったフィールドの型は以下のとおりです。

    日付 … 日付/時刻型

    アイテム名 … テキスト型

    日付順 … 数値型(長整数型)

    で、DCountの第一引数ですが…

    http://office.microsoft.com/ja-jp/access-help/HA001228817.aspx

    このページには以下のように書かれている部分があります。

    expr がワイルドカード文字 (*) でない限り、expr で参照されるフィールド内にある Null 値が入ったレコードは計算対象になりません。ワイルドカード文字を使うと、Null フィールドを持つレコードも含め、すべてのレコードの総数を計算することができます。

    今回の場合Nullが無いので、第一引数に「"[日付]"」としても結果は変わらないですね。

    DCount関数は、第三引数に一致するレコードの数を返す関数なので、第一引数はあまり意味がない。

    と個人的には思っています。

    ご理解いただけましたでしょうか?

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2012-05-15T06:54:19+00:00

    ずっちさん、早速のご回答ありがとうございます!!

    同じように更新クエリにすると、「フィールド型変換エラー」となり実行できませんでした・・・・。

    テーブル作成クエリにしてみましたところ、欲しかった結果が得られました!

    追加で質問してもいいでしょうか?

    式の「”*”」はフィールドを指定する部分だと思うのですが、今回は「日付」ではなく「”*”」とされたのはどういった意味があるのでしょうか?

    ご教授いただけますとありがたいです。

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

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません