
No.3ベストアンサー
- 回答日時:
>インポート等においてAccessが順番をあえて変えてしまうことに言及していただけていませんが、Accessは常にそういう余計な動作をするものなのですか。
データベースでは、処理的に一番早く追加できる領域に追加をしていきます。
そのため、最適化されていないテーブル(以前は値が入っていたが、現在はレコードの削除があったなど)では、以前のレコードの情報が残っていたりすると、テーブルの一番最後に追加するのが高速であったり、以前レコードが存在していた領域を上書きするのが高速だったりという感じでどこに追加されるかわからない状態になります。
なので、最適化をしてからデータをインポートすれば、その順番に入るかもしれません。
ただし、たしかAccessでは、主キーが張ってあるテーブルはインポートのレコード順に関係なく主キーの値の昇順になったような???
ありがとうございました。
なるほど、そういう訳なんですね。
確かに、1度EXCELデータをそのままインポートしたテーブルに入れたんです。
EXCELデータをそのままインポートしたら、セルの表示形態(分類)に関係なく値が数値なら勝手に数値扱いされちゃったんで、テキストとしてありのまま入ってほしくて、CSV変換+CSVインポートとしたんです。
最初のEXCELインポートも、後のCSVインポートも主キーはインポート後にオートナンバーを付けたんですけど。
レコードを全部削除して、そこに入れ直したんですが、ACCESS君が使い古しのレコードを使うのを嫌がって、新しいレコードに入れて、ある単位入れたら、後の方に入れるのがシンドくなってきて、使い古しでも上の方にある入れる方が楽だなってことになった。って解釈でいいんでしょうか。
No.4
- 回答日時:
>>インポート等においてAccessが順番をあえて変えてしまうことに言及して
>>いただけていませんが、Accessは常にそういう余計な動作をするものなのですか。
インポートした順番を意識したことがないので調べたことがありません。
推測で答えますので誤りがあれば訂正して頂ける人が居れば幸いです。
Accessはリレーショナルデータベース(RDB)なので自由な検索が出来るのが
一番の特色です。データを順番に読む必要が出れば後からインデックス
(索引)を付けることで自由に検索出来きます。
インポートをする時に主キーの設定を聞かれますが、そこで何らかの項目を
設定すると、その項目が索引になります。
索引を付ける意義は、例えば人事の社員テーブルでは、社員番号を主キーに
して重複なしにします。同じ社員番号を持つ人が複数いたらまずいですね!
それから、社員番号を使って個人の情報を表示する使い方が多くなります。
多く使われる項目は順番に並べて置いた方が早く検索出来るテクニックが
あります。そのために索引のデータで並び変えて仕舞っても不思議では
ありません。
インポートファイルの順番にするには先頭に追加する連番を主キーに指定
すると順番が変らないはずです。この様な使い方は売り上げ伝票のデータ
の様にキーとなるもの設け難く入力順に並んでくれた方が後の処理で
都合が良いのでこの様な場合に設定にします。
多くの場合、入力のレコード順よりもクエリーなどの実行結果のリストの
並び順の方が重要です。この並び順はクエリーで指定しますので入力側は
上述の伝票処理などを除けば余り意味がありません。
No.2
- 回答日時:
大規模なデータを移行する場合に良く問題になるのが全量を移行出来たかです。
チェックする方法は幾つかのチェックするポイントを決めて置き取り込み前後で
確認をします。
例えば、レコード件数や金額の集計値、キーごとのサンプルチェックです。
しかし、Accessであれば取り込み失敗したレコードがエラーファイルに
書き出されます。このファイルは先頭に何番目のレコードでエラーが出たか
判る様に連番が振られていますから容易にエラーが確認出来ます。
ありがとうございます。
データ量が多くなれば全数チェックは困難になりますから
サンプリングチェックですね。
ところで、HAL007さんも、先のtaka_tetsuさんも、インポート等においてAccessが順番をあえて変えてしまうことに言及していただけていませんが、Accessは常にそういう余計な動作をするものなのですか。
素人臭い質問かも知れませんが、また是非教えて下さい。
No.1
- 回答日時:
RDB(リレーショナルデータベース)には、レコードの並び順という概念は存在しません。
そのため、任意の順番でデータを取得したいときは、あらかじめレコードに連番を入れる項目を追加しておく必要があります。
ありがとうございます。
そうですよね。うーん。
でも、だからこそインポートやコピー&ペーストでは、正しく入ったという確認がほしいんです。
データベースに並び順の概念がないのに、インポートした内容が何もしてないのにインポート前と違う順番になってしまう原因があると思うんです。
その原因がわからないと、正しくインポートされたかどうかすら確証が持てなくなっちゃいますよね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
アクセスで入力したデータの順番が変わってしまいます
その他(ビジネス・キャリア)
-
ACCESS VBAにてCSVファイルを並び順を変えずにインポートするにはどうしたらよいでしょうか?
Access(アクセス)
-
ACCESS クエリで重複データを最新の1件だけ表示
Access(アクセス)
-
-
4
Access2003 クエリで、空の列は作れますか?
Access(アクセス)
-
5
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
6
AccessのクエリをExcelへエクスポートする際
Excel(エクセル)
-
7
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
8
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
9
ラベルとテキストボックスのグループ化を解除したい
Access(アクセス)
-
10
「データベースまたはオブジェクトは読み取り専用なので、更新できません」エラーについて
その他(データベース)
-
11
インポート時のエラー「データ型の変換エラー」
Access(アクセス)
-
12
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
13
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
14
ACCESS クエリで1から順番に番号を表示したい
Access(アクセス)
-
15
Accessでデータシートに同じデータがいくつもでてしまいます。
その他(データベース)
-
16
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
17
INSERT INTO ステートメントに認識できないフィールド
その他(データベース)
-
18
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
19
Accessのクエリで、replace関数を使い、データの中にある”をブランクに置き換えたいのですが
Access(アクセス)
-
20
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access カレントレコードがあり...
-
数百万件レコードのdelete
-
Access 1レコードずつcsvで出力...
-
Access VBA Me.Requery レコー...
-
Excel→Accessテーブル インポ...
-
Accessにインポートしたら並び...
-
無償版SQLサーバ 中国語(簡体...
-
特定のレコードのみの更新クエリ
-
Accessの固有レコード識別子の選択
-
ACCESS【更新クエリの中断がで...
-
フォームからのレコード削除に...
-
排他モードで開く場合は、どう...
-
access入所退所日のデータから...
-
「マスタ」と「テーブル」の違...
-
accessで移動平均する方法
-
ACCESS2000のテーブル構造
-
請求と入金のテーブルの作成の...
-
VBAの実行時エラー'2522'について
-
SQLで○○の値以外を持っているレ...
-
オラクルではできるのにSQLSERV...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessにインポートしたら並び...
-
3つ以上のテーブルをUNIONする...
-
データの二重表示の原因
-
Access VBA Me.Requery レコー...
-
Accessで重複したデータを一件...
-
access入所退所日のデータから...
-
SQLServerで同一条件レコードの...
-
ManagementStudioからのデータ削除
-
Access 1レコードずつcsvで出力...
-
Access カレントレコードがあり...
-
Access 削除クエリが重い
-
ACCESSのBookmarkプロパティの...
-
Accessの重複クエリで最小以外...
-
Accessでの排他制御
-
数百万件レコードのdelete
-
DB INSERT 時の排他制御について
-
(ACCESS)並び替えをしないで...
-
非連結サブフォームのレコード...
-
特定のレコードのみの更新クエリ
-
Accessの固有レコード識別子の選択
おすすめ情報