- 締切済み
- 暇なときにでも
Access97でクエリーにオートナンバーは?
みんなの回答
- 回答No.4

先に回答している方の言うとおり、クエリーで連番はつけれません。 が、テーブル作成クエリーでクエリー結果を抽出した後にそのテーブルにもう一つオートナンバー型のフィールドを追加すると自動的に連番がふられますよ。
関連するQ&A
- Accessのデータベースのオートナンバーについて
Accessのデータベースにおけるオートナンバーが 削除クエリや追加クエリ、更新クエリを連続して行なっても 付けられるオートナンバーが常に一行目(先頭)から1になる 設定方法がわかりません。 よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- ACCESSクエリーの抽出後について
クエリーでデータを抽出した際にオートナンバーが、 歯抜けになるのですが歯抜けになったオートナンバーだけを 再度クエリーでテーブルの並びと同様にふることは、 できるのでしょうか。つまり中身はクエリーのもの のみが欲しいのですが、オートナンバーだけはもと どおりにふりなおしたいです。 お知恵を頂戴したく。
- ベストアンサー
- その他MS Office製品
- アクセスのクエリでオートでナンバーを振りたいのですが?
アクセスのクエリでレコードをスコアの大きい順に並べ替えて、オートでナンバーを振り順番をつけたいのですが、可能でしょうか?ご解答宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- 回答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
- tepapapa
- ベストアンサー率23% (7/30)
クエリーではなく、レコードセットではダメでしょうか? 例えば以下のような感じで・・・ 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 お手数お掛けしますが、宜しくお願い致します。
- ベストアンサー
- その他MS Office製品
- 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に戻るのでしょうか?それともエラーが発生してしまうのでしょうか?やはり、意図的にオートナンバーを初期化するべきなのでしょうか? とても大きな数値になるので、簡単にテストしてみる訳にも行かないので、 どなたか知っていたら教えてください。
- ベストアンサー
- その他(プログラミング・開発)
質問者からのお礼
ありがとうございました。さっそくやってみます。