• 締切済み
  • 暇なときにでも

Access97でクエリーにオートナンバーは?

簡単なことかも知れませんが… クエリーで抽出した結果にオートナンバーをつけたいのですが、方法はありますか?

共感・応援の気持ちを伝えよう!

  • 回答数4
  • 閲覧数308
  • ありがとう数7

みんなの回答

  • 回答No.4
noname#420

先に回答している方の言うとおり、クエリーで連番はつけれません。 が、テーブル作成クエリーでクエリー結果を抽出した後にそのテーブルにもう一つオートナンバー型のフィールドを追加すると自動的に連番がふられますよ。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございました。さっそくやってみます。

関連するQ&A

  • Accessのデータベースのオートナンバーについて

    Accessのデータベースにおけるオートナンバーが 削除クエリや追加クエリ、更新クエリを連続して行なっても 付けられるオートナンバーが常に一行目(先頭)から1になる 設定方法がわかりません。 よろしくお願いします。

  • ACCESSクエリーの抽出後について

    クエリーでデータを抽出した際にオートナンバーが、 歯抜けになるのですが歯抜けになったオートナンバーだけを 再度クエリーでテーブルの並びと同様にふることは、 できるのでしょうか。つまり中身はクエリーのもの のみが欲しいのですが、オートナンバーだけはもと どおりにふりなおしたいです。 お知恵を頂戴したく。

  • アクセスのクエリでオートでナンバーを振りたいのですが?

    アクセスのクエリでレコードをスコアの大きい順に並べ替えて、オートでナンバーを振り順番をつけたいのですが、可能でしょうか?ご解答宜しくお願い致します。

  • 回答No.3
  • ARC
  • ベストアンサー率46% (643/1383)

クエリに自動で連番を付加する機能はありません。(断言) テーブルに[連番]フィールドを作って、VBAを使って連番を入力する以外には、有効な方法がないものと思います。 '以下のコードをモジュールにコピーし、 マクロの「プロシージャの実行」で、 =Renban("クエリ名", "[連番]フィールドの名前", 開始値, 間隔) のようにして使ってください。 開始値、間隔は数字で指定すること。省略してもいいです。(省略時は1が指定されたものとみなす) Public Function Renban(QueryName As Variant, FieldName As String, Optional Start As Long = 1, Optional Step As Long = 1) As Long  Dim SrcRS As Recordset  Dim Ct As Long On Error GoTo HandleErr  On Error Resume Next  Set SrcRS = CurrentDb.OpenRecordset(QueryName, dbOpenDynaset)  Ct = Start  With SrcRS   Do Until .EOF    .Edit    .Fields(FieldName) = Ct    .Update    .MoveNext    Ct = Ct + Step   Loop  End With    ExitHere:  Exit Function HandleErr:  Select Case Err.Number   Case Else    MsgBox "エラー " & Err.Number & ": " & Err.Description, vbCritical  End Select End Function なんかあったら、補足をお願いします。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

詳細にありがとうございます。なんか見てるだけでむずがゆくなってしまいそうです。まだまだこのレベルは難しいかな。

  • 回答No.2

クエリーではなく、レコードセットではダメでしょうか? 例えば以下のような感じで・・・ Dim myRS 'テーブルのレコードセット Dim myCt 'カウンター   'テーブルのレコードセットを開く Set myRS = CurrentDb.OpenRecordset("テーブル1")   '最初のレコードに移動する myRS.MoveFirst   '最後のレコードまで繰り返し、カウンターをひとつずつUP Do Until myRS.EOF myCt = myCt + 1 MsgBox myCt & myRS!項目1 myRS.MoveNext Loop myRS.Close これで一応は抽出した項目にナンバーをつけて表示できます。 どうしてもクエリーで・・・となると分かりません。 どなたか分かる方よろしくお願いします!

共感・感謝の気持ちを伝えよう!

  • 回答No.1
  • nushi2
  • ベストアンサー率21% (12/56)

回答らしい回答ではないのですが、私も以前クエリーで抽出結果にオートナンバーを付した処理をやりたかったのですが、Access単体ではうまくいかないようです。 実現するには、VBで作成しないといけないようです。 (その時は、オートナンバーの機能はあきらめました。)

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • Access オートナンバーについて

    17年・18年の伝票整理をしたいと思っています。 伝票IDを、17年度分なら 17-(オートナンバー) 18年度分なら 18-(オートナンバー) のように、設定したいと思ったのですが、どんな方法があるでしょうか。

  • Access2003オートナンバーを任意の値に

    Access2003で、オートナンバーでID番号の管理(主キー)をしています。 このID番号の他に、10桁の数値でプロジェクト管理したいと思っております。 オートナンバーを基に、別IDを作成する方法を教えてください。 なお、この10桁の数値は、先頭の4桁がプロジェクト番号として使用し、 後ろの6桁はオートナンバーのIDと同じ数値となります。 ======================================== (例)  [ID]     [ID2]   1    1001000001   2    1001000002   3    1001000003   〃       〃 ======================================== 下記のURLを参考にしてやってみたのですが、追加クエリを実行しても、 なぜか、オートナンバーフィールドへ追加することができませんでした。 ※追加クエリ実行エラーで、「型変換エラーのためnullに設定しました」となります。 http://www.accessclub.jp/samplefile/samplefile_145.htm お手数お掛けしますが、宜しくお願い致します。

  • Access で更新クエリー

    教えてください。アクセス2000 Win2Kです。 あるDBから1つのレコードだけ抽出し(オートナンバーをキーにしてテーブル作成クエリでローカルテーブルを作成します。)その後、そのレコードを加工して元のDBにもどしたいのですが、1レコード上にフィールドが60近くあるので一括で更新したいのです。「T_ローカル.*」みたいな感じで・・・。なにか良い方法はありませんか?一旦、DBから削除して加工したレコードを追加する方法も考えたのですが、DBのオートナンバーが変わってしまうのでやめました。 なにか良い方法をご存じの方、是非ご教授ください。 よろしくお願いします。

  • Accessのオートナンバーについて

    教えてください。 オートナンバーで 1,2,3,4というゆうふうに数字をつけるのではなく C0001、C0002、C0003というような文字から始まる オートナンバー型の付け方はあるのでしょうか?

  • Accessのオートナンバー型について

    Accessのオートナンバー型についての質問です。 ある項目をオートナンバー型にしているのですが、 何かの拍子で番号が変化してしまったようです。 たとえば当初は4の番号が7に変わったというようにです。 このようなことはよくあるものなのでしょうか。 これを防ぐ手立てなどありますでしょうか。

  • テーブル作成クエリーでオートナンバー型のレコードを作成したい。

    教えてください。Access2000で困ってます。 テーブル作成クエリーから作成するテーブルAにオートナンバー型のレコードを追加したいのですが、どうしたらいいでしょうか? テーブルAに先にオートナンバー型のレコードを追加しておいても再度クエリーを実行するとなくなってしまいました。 できればクエリーでなんとかしたいのですが無理なんでしょうか? ご存じの方、お願いします! もう、頭がパンクしました!

  • Accessのオートナンバーを1から始めないには

    Accessのオートナンバーを設定すると1から自動的に始まるのですが、最初に4桁の数字入力して始めることは可能でしょうか。 それとも、この最初の番号を指定して、ひとつずつ数字が自動的に増える設定はオートナンバー意外でおこなうのでしょうか。

  • アクセス2000 オートナンバーについて

    いつもお世話になります。 アクセス2000を使用しているのですが、Dsum関数を使用したいので、時系列を付けるためにオートナンバーを付けています。必要データが日々変わるためにこのテーブルは全データを削除し追加クエリーを使用して計算もとのテーブルをその都度必要なデータのみにしています。 現在テスト中で特に問題はないのですが、本稼動した場合、オートナンバーが一日に10000程になってしまいます。計算に使うレコード数は200程度なのですが、処理作業を1日に50回程度行いますので。 2年程度メンテナンスはする予定をしていないので、このままではオートナンバーが7000000程度になってしまいます。オートナンバーの数字が多くなることによるエラー等は発生しないのでしょうか。またオートナンバー以外に連番をふる方法はあるのでしょうか。 宜しくお願い致します。

  • Accessのオートナンバーについて

    いつもお世話になります。 Access2002を勉強中の初心者です。 オートナンバーのフィールドを持つテーブルを使用していますが、オートナンバーの最大値はいくつなんでしょうか? また、レコードがその最大値を超えた場合はどうなるのでしょうか? (1に戻るのでしょうか? それともエラーになるのでしょうか?) よろしくお願いします。

  • ACCESSのオートナンバーについて

    ACCESSのオートナンバーを使用したいのですが、 4バイト(Long)で表現できる数値を越えた時どうなるのかが心配です。 自動的に0に戻るのでしょうか?それともエラーが発生してしまうのでしょうか?やはり、意図的にオートナンバーを初期化するべきなのでしょうか? とても大きな数値になるので、簡単にテストしてみる訳にも行かないので、 どなたか知っていたら教えてください。