
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で質問しましょう!
似たような質問が見つかりました
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
- Excel(エクセル) エクセル テーブル機能の不明点 2 2022/04/14 14:10
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Access(アクセス) accessでexcelを読み込む時のデータ型 1 2022/03/28 19:45
- Access(アクセス) access フォーム 大分類、小分類 1 2022/08/11 18:03
- その他(プログラミング・Web制作) Accessの代わりのノンプログラムデータベース作成 4 2022/10/21 09:26
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Access(アクセス) スキルシートのエクセルの項目に 2 2023/04/04 22:41
このQ&Aを見た人はこんなQ&Aも見ています
-
アクセスで入力したデータの順番が変わってしまいます
その他(ビジネス・キャリア)
-
ACCESS VBAにてCSVファイルを並び順を変えずにインポートするにはどうしたらよいでしょうか?
Access(アクセス)
-
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
-
4
ACCESS クエリで重複データを最新の1件だけ表示
Access(アクセス)
-
5
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
6
AccessのクエリをExcelへエクスポートする際
Excel(エクセル)
-
7
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
8
Access サブフォームでの選択行の取得
その他(データベース)
-
9
アクセスのエラー「クエリには出力フィールドが1つ以上必要です。」
その他(Microsoft Office)
-
10
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
11
Access2003 クエリで、空の列は作れますか?
Access(アクセス)
-
12
データベースの最適化をマクロでしたい
その他(データベース)
-
13
Access テキスト型に対する指定桁での0埋め方法
その他(データベース)
-
14
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
15
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
16
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
17
ACCESS クエリで1から順番に番号を表示したい
Access(アクセス)
-
18
Access VBAから使用したExcelプロセスを閉じる方法について
Visual Basic(VBA)
-
19
Accessのクエリで、replace関数を使い、データの中にある”をブランクに置き換えたいのですが
Access(アクセス)
-
20
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
3つ以上のテーブルをUNIONする...
-
Accessにインポートしたら並び...
-
データの二重表示の原因
-
Access 1レコードずつcsvで出力...
-
ACCESSのBookmarkプロパティの...
-
OUTER JOIN と TOP10との組み合...
-
PostgreSQLへのODBC接続について
-
Accessでレコードが更新された...
-
Access カレントレコードがあり...
-
数百万件レコードのdelete
-
Accessでの排他制御
-
レコードロックする方法
-
DB2のデーターベースに、ADOで...
-
テーブルのレコード削除ができ...
-
Accessの重複クエリで最小以外...
-
access入所退所日のデータから...
-
非連結サブフォームのレコード...
-
access ADODB でテーブルを更新...
-
MSAceess テーブル結合でメモリ...
-
Access VBA Me.Requery レコー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessにインポートしたら並び...
-
3つ以上のテーブルをUNIONする...
-
数百万件レコードのdelete
-
データの二重表示の原因
-
ACCESSのBookmarkプロパティの...
-
Access 削除クエリが重い
-
Access VBA Me.Requery レコー...
-
SQLデータ修正時に『このレコー...
-
Access 1レコードずつcsvで出力...
-
SQLServerで同一条件レコードの...
-
Access カレントレコードがあり...
-
2つの項目が重複するレコード...
-
ManagementStudioからのデータ削除
-
テーブルのレコード削除ができ...
-
Accessでの排他制御
-
(ACCESS)並び替えをしないで...
-
Accessでレコードが更新された...
-
Accessの重複クエリで最小以外...
-
Accessで重複したデータを一件...
-
非連結サブフォームのレコード...
おすすめ情報