Accessの追加クエリでデータの並び順が反映されるか?

このQ&Aのポイント
  • Accessの追加クエリでデータの並び順は反映されません。
  • 追加クエリでデータを順番通りに追加しても、テーブル内では保存されない可能性があります。
  • 安全な方法としては、選択クエリを使用しテキストファイルへエクスポートすることをおすすめします。
回答を見る
  • ベストアンサー

Accessの追加クエリで疑問点があり、質問します。

Accessの追加クエリで疑問点があり、質問します。 フォームにボタンを作り、それをクリックすると、追加クエリを動かす前に、対象のテーブル内を削除クエリで空にしてから、追加クエリを動かし、その後追加先のテーブルをテキストファイルへとエクスポートしています。 この作業の追加クエリでテーブルへデータを追加する際は、追加クエリで設定しているデータの並び替えは反映しないのでしょうか? テーブルはデータを入れておく器にすぎなので、いくら並びを指定してテーブルへデータを順番通りに追加していっても、テーブル内はその順番通りに保存されるとは限らないと聞いた事があります。 そこで、最終的にテキストファイルへエクスポートする場合は、追加クエリをやめて、選択クエリに変更し、これをテキストファイルへエクスポートした方が安全でしょうか?または、追加クエリで並びを指定しておけば、追加クエリで追加したデータはテーブルに追加された際は、追加クエリで指定したデータの並び順になるものなのでしょうか? ご教授よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.2

原則的にRDBにおいては、順番の指定なしでデータを抽出する際にはその順番は担保されません。 とはいっても、アクセスでは(私の経験からすると)入れた順に出てくると思います。 格納先のテーブルに主キーやインデックスが設定されている場合、そちらが優先されたと思います。 しかし、そうならなかったとしても(私を含め)誰も責任を取ってくれません。 なので、エクスポートしたい内容を順番を指定して選択クエリにて抽出し、そのクエリ自体をエクスポートするのが普通です。 一旦別テーブルに格納したい理由があるなら、(データ量の問題とかで)さらにその別テーブルを順番に並べたクエリをエクスポートするのもありです。 

参考URL:
http://oshiete1.goo.ne.jp/qa5595405.html
bitchhouse
質問者

お礼

順番にならべたクエリをエクスポートし対応しました。ありがとうございました。

その他の回答 (1)

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

データベースはデータの蓄積であり、この中からどういう条件、並び順で抽出するかは選択クエリの 指定によります。追加/更新/削除クエリは基本的には「結果」を返さないクエリなので、このような クエリからデータを引き出そうと言うのは間違いです。 Accessではこのような実行系クエリでもデータシートビューが開けるようになっていますが、 今述べた理由により、これを使用すべきではありません。 「どういう抽出クエリをエクスポートするか」というのが最初にあるべきです。

bitchhouse
質問者

お礼

既存の追加クエリをエクスポートしようとしても出来なかったので、抽出クエリに変えてエクスポートしました。ご教授ありがとうございました。

関連するQ&A

  • アクセスの追加クエリで教えてください。

    非連結のフォームから、追加クエリを使ってテーブルにデータを追加したいのですが、 どうもうまくいきません。 具体的には、 履歴フォーム、というフォームで、 日付 施設名 内容 という項目があります。 追加クエリで、 [Forms]![履歴フォーム]![日付] のようにほかの項目も入力し、 その保存先は、 履歴テーブル、で、 項目は、履歴フォームと同じです。 履歴フォームにデータがまったく入っていない状態ですと、 追加クエリを実行した際、 0件のデータを追加します。となります。 自分でテーブルに直接データを何か入力すると、 次に追加クエリを実行した際、 1件のデータを追加します。となります。 続いて追加クエリ実行の際には2件、 その次は4件追加と、 テーブルに入っているデータの件数だけ、 そのときにフォームに入力されている情報が、追加されてしまいます。 どのような原因が考えられますでしょうか? お知恵を貸していただけたらと思います。 情報が不十分でしたらご指摘願います。 補足いたしますので。 それでは、よろしくお願いいたします。

  • Access2000の追加クエリについて教えてください

    元Excelのデータをインポートして、Accessのテーブルデータに追加クエリで追加するとき、型変換エラーとなります。 このときテーブルのデザインで一つずつ数値型とテキスト型をあわせています。ただフィールド数が多いとかなり不便です。 何かよい方法はありますか?

  • Accessの追加クエリのエラーについて

    Accessについて教えてください。 データベースを作成しているのですが複数でデータを閲覧したり情報を入れようとするためA(データ保存ファイル)とB(メニューファイル)の2つを作成しました。Aはデータを保存するテーブルのみでBにはAのテーブルをリンクさせているものとデータを一時保存するテーブルがあります。 Bのデータ一時保存テーブルに一旦データを入れ、その後、追加クエリを実行しAのテーブルに反映させ、削除クエリで不要になったBのテーブルデータを削除していますが、追加クエリが上手く動いていないようです。 テキスト型、日付型等のフィールドは追加されるのですがメモ型フィールドに入れていたデータは削除されてAのテーブルに追加される時があります。(削除クエリはきちんと実行されています。) 私が行う限りは上記のような事象はありませんが、すでに何件か発生しているようです。 その時に表示されるメッセージは『???に失敗しました』と出ていたそうです。 何か思い当たる原因をご存知の方がいっらしゃいましたら教えてください。(上手く説明できてなくて申し訳ありません。) ちなみにAはNWサーバー、Bはローカルサーバーに保存しています。

  • アクセス2007で追加クエリが動かないのですが・・

    あるテーブル(以下「テーブル(1)」といいます。)のオートナンバーを1から振り直すために、テーブル(1)の構造のみをコピーしたテーブルを作り、そこに追加クエリでテーブル(1)のオートナンバー以外のフィールドのデータをくっつけようと思っているのですが、「無効モードのため,アクションまたはイベントはブロックされました。」とのメッセージがでてしまいます。 選択クエリを追加クエリに変換する方法が間違っているのでしょうか? 選択クエリをテーブル(1)を元に作ったうえでデザインビューで、「追加」をクリックし、追加先テーブルを「テーブル(1)のコピー」を選んでいるのですが、何が問題なのでしょうか?

  • アクセス追加クエリ、大量のデータの結合の仕方

    教えてください。 300個ほどのエクセルファイルを一つのファイルにまとめたいのですが、何か方法はありますでしょうか。データの項目・並び順は全ファイル一緒です。 アクセスの追加クエリで作業しようと思いましたが、エクセルファイルが300個ほどあり追加クエリを作るのも手間がかかり過ぎてしまいます。 どうぞよろしくお願いします。

  • Accessのクエリでレコード追加

    Access初心者です。 バージョンは2010をつかっています。 テーブルを14テーブル含み、フィールド数が100ほどある選択クエリを作りました。 抽出条件などは設定していません。 このクエリで新しくデータを入力、レコードを追加し、上書き保存した後クエリを閉じます。 それからまた、そのクエリを開くとレコードが追加されていません。 テーブルにはその入力したデータは追加されています。 このクエリにもそのデータを追加表示させるためにはどうすればいいですか? 表示されない原因はなんなのかお教えお願いします。

  • アクセスの追加クエリで、

    アクセスの追加クエリで、テーブルにデータを追加したいのですが、追加するデータと追加されるデータを照らし合わせて、完全に一致しない物だけを追加するにはどうしたら良いですか? 6フィールドあり、全てが一致するデータはありませんが、5フィールドだと一致してしまう物があります。 誰か教えて下さい。よろしくお願いします。

  • ACCESSクエリーの抽出後について

    クエリーでデータを抽出した際にオートナンバーが、 歯抜けになるのですが歯抜けになったオートナンバーだけを 再度クエリーでテーブルの並びと同様にふることは、 できるのでしょうか。つまり中身はクエリーのもの のみが欲しいのですが、オートナンバーだけはもと どおりにふりなおしたいです。 お知恵を頂戴したく。

  • アクセス追加クエリで限定したい

    環境は WinXP SP3 ACCESS2003です。 次のように追加クエリでテーブルにデータを追加していますが A B C D 1 545 5555 456 1 444 5485 698 2 584 6985 524 2 526 7898 214 3 548 5455 555 この次に 1 545 5555 456 と同じデータが追加されたとき 追加できないようにしたいのですが うまくいきません Aの追加条件に<>"A" 指定とか 主キーの設定はだめですし どちらさまか ご指導ください

  • Accessでのクエリ・レポートの並び順について

    すごく単純な質問なのですが、どんな決まりがあるのか知りたいのです。 たとえば、「社員一覧」テーブルを作りました。 そのテーブルを元にして「部署」昇順・「役職」昇順でクエリ「社員住所録」を作りました。 まず、このクエリの並び順も「部署」「役職」は当然きちんと並んでいるのですが、次の並び順というのが「何を基準に」並んでいるのかがわかりません。 テーブルを元にしているのだから、テーブルの主キーの「社員番号」順に並ぶような気がする(わたしは)のですが・・・。 そして、クエリ「社員住所録」を元にレポート「住所録印刷」を作ったところまた並びがクエリと異なります。 なぜ、こういうことが起こるのでしょうか? 皆様よろしくお願いします。