プロが教える店舗&オフィスのセキュリティ対策術

クエリで
オートナンバー型を主キーにしている
テーブルから値を抽出した時

回数(主キー) ・・・
---------------------
12       ・・・ 
35       ・・・  
44       ・・・
85       ・・・
101       ・・・
61       ・・・
64        ・・・
↑のように60番台から70番台だけ
並び順がバラバラになっていたのですが
これはACCESSでは普通なのでしょうか?

(並べ替えで昇順、降順を指定すれば
いいだけなのですが他のクエリでは
指定していなくてもテーブルで入力した順に
並んでいたのにこのクエリだけ並びが
変わっていたので気になりました)

A 回答 (3件)

「DBへの書きこみの順と、読み出し順が異なる」質問が時々でますが、


DBへの書きこみの順と、順序無指定の読み出し順は「無関係」でしょう。

オートナンバーは、自動採番をしてくれますが、レコード順序の縛りではありません。

よって、気になさらないのがよろしいと思います。
気になるようでしたら、指定を行えば良いので。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
おかしな動作ではないようなので
安心しました

お礼日時:2006/02/13 23:27

>並び順がバラバラになっていたのですがこれはACCESSでは普通なのでしょうか?


Accessだけではなく他のリレーショナルデータベースでも入力データの登録順序を保持することはありません。
ハードディスクなどの物理的にはその空き領域の状態により格納先が判断されます。
レコード抽出時に並び順を明示的に指定することにより自由にソート順を指定してレコードを抽出できることもリレーショナルデータベースの特長です。
フィールドに主キーを設定すれば通常の昇順の並び順にはなりますがレコードを追加した順番ではありなりません。(主キーが5のレコードを入力後に主キーが1のレコードを入力してもテーブルを開けば通常は1から順に並びますよね)
追加した順番を保持する必要がある場合はオートナンバー型のフィールドに主キーを設定する等が必要になります。
    • good
    • 0
この回答へのお礼

回答ありがとうございます
順番保持は特に必要ではないので
今のまま並び替えの設定だけ
いじることにします

お礼日時:2006/02/13 23:31

こんばんは。



並び順を指定しない限り、並び順は保証されません。
通常の動作です。
並び順が重要な場合は、必ず並び替えを指定してください。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
昇順指定に設定して使います。

お礼日時:2006/02/13 23:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A