- ベストアンサー
ACCESS レコードの並び順について
クエリで オートナンバー型を主キーにしている テーブルから値を抽出した時 回数(主キー) ・・・ --------------------- 12 ・・・ 35 ・・・ 44 ・・・ 85 ・・・ 101 ・・・ 61 ・・・ 64 ・・・ ↑のように60番台から70番台だけ 並び順がバラバラになっていたのですが これはACCESSでは普通なのでしょうか? (並べ替えで昇順、降順を指定すれば いいだけなのですが他のクエリでは 指定していなくてもテーブルで入力した順に 並んでいたのにこのクエリだけ並びが 変わっていたので気になりました)
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
「DBへの書きこみの順と、読み出し順が異なる」質問が時々でますが、 DBへの書きこみの順と、順序無指定の読み出し順は「無関係」でしょう。 オートナンバーは、自動採番をしてくれますが、レコード順序の縛りではありません。 よって、気になさらないのがよろしいと思います。 気になるようでしたら、指定を行えば良いので。
その他の回答 (2)
- O_cyan
- ベストアンサー率59% (745/1260)
>並び順がバラバラになっていたのですがこれはACCESSでは普通なのでしょうか? Accessだけではなく他のリレーショナルデータベースでも入力データの登録順序を保持することはありません。 ハードディスクなどの物理的にはその空き領域の状態により格納先が判断されます。 レコード抽出時に並び順を明示的に指定することにより自由にソート順を指定してレコードを抽出できることもリレーショナルデータベースの特長です。 フィールドに主キーを設定すれば通常の昇順の並び順にはなりますがレコードを追加した順番ではありなりません。(主キーが5のレコードを入力後に主キーが1のレコードを入力してもテーブルを開けば通常は1から順に並びますよね) 追加した順番を保持する必要がある場合はオートナンバー型のフィールドに主キーを設定する等が必要になります。
お礼
回答ありがとうございます 順番保持は特に必要ではないので 今のまま並び替えの設定だけ いじることにします
- GreatDragon
- ベストアンサー率46% (186/402)
こんばんは。 並び順を指定しない限り、並び順は保証されません。 通常の動作です。 並び順が重要な場合は、必ず並び替えを指定してください。
お礼
回答ありがとうございます。 昇順指定に設定して使います。
お礼
回答ありがとうございます。 おかしな動作ではないようなので 安心しました