-PR-
締切り
済み

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

  • 暇なときにでも
  • 質問No.18708
  • 閲覧数282
  • ありがとう数7
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 18% (11/61)

簡単なことかも知れませんが…
クエリーで抽出した結果にオートナンバーをつけたいのですが、方法はありますか?
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全4件)

  • 回答No.1
レベル8

ベストアンサー率 21% (12/56)

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


  • 回答No.2
レベル8

ベストアンサー率 23% (7/30)

クエリーではなく、レコードセットではダメでしょうか? 例えば以下のような感じで・・・ Dim myRS 'テーブルのレコードセット Dim myCt 'カウンター   'テーブルのレコードセットを開く Set myRS = CurrentDb.OpenRecordset("テーブル1") ...続きを読む
クエリーではなく、レコードセットではダメでしょうか?

例えば以下のような感じで・・・

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.3
レベル13

ベストアンサー率 46% (643/1383)

クエリに自動で連番を付加する機能はありません。(断言) テーブルに[連番]フィールドを作って、VBAを使って連番を入力する以外には、有効な方法がないものと思います。 '以下のコードをモジュールにコピーし、 マクロの「プロシージャの実行」で、 =Renban("クエリ名", "[連番]フィールドの名前", 開始値, 間隔) のように ...続きを読む
クエリに自動で連番を付加する機能はありません。(断言)

テーブルに[連番]フィールドを作って、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


なんかあったら、補足をお願いします。
お礼コメント
start1

お礼率 18% (11/61)

詳細にありがとうございます。なんか見てるだけでむずがゆくなってしまいそうです。まだまだこのレベルは難しいかな。
投稿日時 - 2000-12-15 19:44:17
  • 回答No.4

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

お礼率 18% (11/61)

ありがとうございました。さっそくやってみます。
投稿日時 - 2000-12-15 19:42:40
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ