
No.4ベストアンサー
- 回答日時:
ご質問の内容が不明瞭ですので、ある仮定に基づいて回答してみます。
テーブル [商品マスタ] から select into でワークテーブル [workDB] を
作成した。テーブル [workDB] を直接開くと、select into に指定した
order by の順にレコードが表示されないが、なぜか?
上記の仮定が正しくなければ、以下の回答はスルーしてください。
上記の仮定が正しければ、それは不具合ではありません。
Access(に限らず多くの RDB)ではごくふつうの現象です。
データの入力順と格納順は必ずしも一致しません。それが利点なのです。
入力した順(この場合は select into に指定した order by の順)と関係
なく、データは空きブロックに配置されていきます。だからこそ、Access は
ディスクを効率的に使用できるのです(Access にはありませんが、サーバ
製品によっては何かの理由で物理ディスク上に順番に格納したい場合のため
にそれ用のオプションが用意されている場合があります。逆に言うと、
ふつうは特別にオプション指定でもしない限り、入力順に物理格納されたり
はしません。効率が悪いからです)。
ソートが重要なら、(入力時ではなく)参照時にクエリで order by 指定
しましょう。テーブルの格納順をあてにすべきではありませんし、テーブル
を直接開いて順番がどうなっているのか気にすべきでもありません(もし
それが気になるなら、RDB ではなく Excel のような表計算ソフトを使った
ほうが、たぶん精神衛生上は よいでしょう)。
ちなみに Access の場合は、主キーが設定されているテーブルであれば、
一応 主キーの順番に表示されることにはなっています。select into で
作成されるテーブルに主キーはありませんから、その場合の表示順は不定
です。
もし主キーがないのに入力順(追加順)にレコードが表示されたとしたら、
運よく連続する空き領域を確保できた場合、ということになります。この
ラッキー(?)は、入力(追加)するデータが多ければ多いほど、そして
ディスクの断片化が進んでいれば進んでいるほど、起こりにくくなります。
No.5
- 回答日時:
テーブルを単にデータシートビューで開いてもコードの昇順に表示
されるとは限りません。「テーブルを作る時のSELECT INTOでORDER BY
したじゃないか」というのは人間の都合で、ORDER BY されたのは元に
なるテーブルが一時的に並べ替えられただけです。
データシートビューにはテーブル毎に独自の書式(列幅、並び順)が
記録されます。掲題の例では品コード、明細番号の2列を選択し、
メニューバーから「レコード→並べ替え→昇順」と設定します。
ビューを閉じる時には変更を記録するかどうか問合せがあります。
但し、SELECT INTO を再実行すると、テーブルは削除→作成となる
ため、同じテーブル名でも表示形式はリセットされます。
希望の並び順になるようなクエリを作成し、そちらを開く方が話が
簡単です。
No.3
- 回答日時:
補足ありがとうございました。
>SELECT 商品マスタ.品コード, 商品マスタ.明細番号 INTO workDB
>FROM 商品マスタ
>ORDER BY 商品マスタ.品コード, 商品マスタ.明細番号;
>データの型はテキストです。
この内容を拝見する限り、問題の状態になる要素はないと思いますので
解決策が解りかねます。
テキスト型の場合、半角全角が混ざっていても ACCESSの場合
逆に同一視されて識別できない事が よく問題なります。
お書きになったSQLからは、別れて並んでしまう点が不明です。
お力になれず、申し訳ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- その他(プログラミング・Web制作) sortの優先キーについて(スプレッドシート) 1 2023/01/17 17:59
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- Access(アクセス) Accessのリンクテーブルのパスを相対パスにする方法について教えて頂きたいです 1 2023/02/08 13:29
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Excel(エクセル) 重複しているか否かをソートせずに判断する方法ありますか? 2 2022/07/06 21:16
- Visual Basic(VBA) Excel VBAで並べ替えをしたい 3 2023/02/25 09:31
- Excel(エクセル) Excelの並び替え(先頭の文字以外を基準に並び替えたい) 3 2023/07/07 22:21
このQ&Aを見た人はこんなQ&Aも見ています
-
Access 昇順・降順で並び替えできない
その他(データベース)
-
アクセスで入力したデータの順番が変わってしまいます
その他(ビジネス・キャリア)
-
Accessにインポートしたら並び順が変わっちゃった
Access(アクセス)
-
-
4
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
5
アクセスでADO 並べ替えが適用できない
Visual Basic(VBA)
-
6
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
7
Accessのクエリで、replace関数を使い、データの中にある”をブランクに置き換えたいのですが
Access(アクセス)
-
8
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
9
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
10
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
11
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
12
Access ¥マークを表示しない
Excel(エクセル)
-
13
access テキストボックスの値取得
Access(アクセス)
-
14
Access 同じデータをたくさんのレコード(同一列)に一度に入力するには
Access(アクセス)
-
15
Access VBAでタブコントロールで選択するタブをしていするには。
Access(アクセス)
-
16
ACCESSユニオンクエリでORDER BYエラー
Access(アクセス)
-
17
クエリで出来た表にチェックボックスを追加する
その他(Microsoft Office)
-
18
ACCESS フォームのサイズ調整
サーバー
-
19
accessデータを指定したExcel、そして指定したセルへエクスポートするaccess VBAコー
Access(アクセス)
-
20
Accessのフォームでタブの色
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【SQL】他テーブルに含まれる値...
-
Access、教えてください。
-
SQLサーバに対するSQL文で抽出...
-
SQLで、Join句で結合したテ...
-
フィールド内のデータの増加に...
-
既存データをINSERT文にして出...
-
特定項目のデータを形態素解析...
-
一つの項目に2つのデータが含...
-
重複データを除いてカウントしたい
-
平均・分散
-
同じ構成のテーブルの条件付き結合
-
データベースについて(mysql)
-
MYSQL5.0 SQLについて...
-
データベース、テーブル設計に...
-
数種類のテーブルを結合させて...
-
同一テーブル内で違うフィール...
-
テーブルデーターの展開方法に...
-
一括置換のSQL文
-
副問合せを使わずにUNIONと同様...
-
複数の期間にマッチする人の抽...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【SQL】他テーブルに含まれる値...
-
SQLで、Join句で結合したテ...
-
Accessの構成をコピーしたい
-
既存データをINSERT文にして出...
-
同一テーブル内での比較(最新...
-
SQLサーバに対するSQL文で抽出...
-
副問合せを使わずにUNIONと同様...
-
結合したテーブルをSUMしたい
-
テーブル名が可変の場合のクエ...
-
PRIMARY KEYのコピー
-
2つのテーブルをLIKE演算子のよ...
-
ACCESSのVBAにてExcelに行...
-
DB2のSQLコマンドについて
-
Excelでしりとりを作る方法
-
ExcelのMatch関数のようなもの...
-
改行を含んだデータのインポート
-
ExcelのVLOOKUP関数の動作をMyS...
-
ADO+ODBCでテーブルに接続する...
-
データ無し時は空白行にしたい...
-
Access特定のテーブルを編集不...
おすすめ情報