質問: accessのテーブルで、昇順並び替え後、連番フィールドを作成したい 表題の通りなのですが、 今現在access2000を使ってデータベースを作成しています。 その際、 ---------------------- 連番 項目 00001 りんご 00002 ばなな 00003 みかん 00004 もも ---------------------- というようなテーブルで[項目]を昇順で並び替え後、 連番が自動的に振られるようなクエリ(無理そうならその他の方法でも)を作成したいと思っています。 今現在はクエリで以下のように昇順で並び替えられたものを、 ---------------------- 連番 項目 00002 ばなな 00003 みかん 00004 もも 00001 りんご ---------------------- 一旦エクセルにエクスポートして、オートフィルで[連番]を書き換え後、再度accessにインポートし以下のような完成形にもっていっています。 ---------------------- 連番 項目 00001 ばなな 00002 みかん 00003 もも 00004 りんご ---------------------- しかし、頻繁に[項目]書き換え・追加のあるデータベースなので、結構な時間を費やしてしまい、とても効率が良いとはいえない状態です。 どうにかaccess内で完結できる方法はないものでしょうか? ご享受の程よろしくお願いいたします。
回答: #1です csv出力をどのようにされているかわかりませんが、 (「連番」をテキスト型に変えて) テーブル「table_a」を連番順にするだけのクエリ「q_a」を以下内容で作ったとします。 select 連番, 項目 from table_a order by 連番; csv出力指定で docmd.transfertext acexportdelim, , "q_a", "e:\test\a.csv", true としてみると、作成されたファイル "e:\test\a.csv" の中身は "連番","項目" "00001","ばなな" "00002","みかん" "00003","もも" "00004","りんご" になるようですが。 「連番」が数値型だった場合、クエリを以下にすると、ファイルの中身は一緒になります。 select format(table_a.連番,"00000") as 連番, 項目 from table_a order by 連番; こういうことではない?のでしょうか。