Access2013で拡張子[.mdb]で操作する時に発生する問題点です。
Access2000ファイル形式とAccess2002~2003ファイル形式の場合です。
インポートウィザードを使用して、Excelからデータをインポートするとフィールドの順番が勝手に変わってしまいます。
参考インポートウィザードで、主キーの設定をしない場合は問題ありません。
Access2010でも発生していたのですが、Access2013以降もこの現象は改善されていません。
-
Excelからインポートするとフィールドの順番が変わる(mdbファイル)
Access2010で、非常に困ったことがあります。 拡張子がmdbファイルで、Excelのワークシートからデータをインポートするとフィール ...
旧拡張子(mdb)から新しい拡張子(accdb)に変換する方法は、以下の記事で解説しています。
-
mdbファイルをaccdbファイルに変換
Access2003で作成した[.mdb]ファイルを新拡張子である[.accdb]のファイルに変換する方法です。 新拡張子でなければ使えない ...
この記事の目次
インポート元のExcelデータ
下のようなExcelのデータがあります。
項目は[都道府県]、[販売店]、[機種]、[販売価格]、[数量]、[売上額]という順番で並んでいます。
参考元データは、テーブルになっていますが、元データがテーブルであっても、範囲であっても現象は変わりません。
ExcelのデータをAccessのテーブルへインポート
ExcelのデータをAccess(mdbファイル)のテーブルにインポートします。
[外部データ]タブの[インポートとリンク]グループの[Excel]をクリックします。
Excelスプレッドシートのインポート
Microsoft Excelフィルからデータをインポートします。または、Microsoft Excelフィルのデータにリンクします。
[外部データの取り込み-Excelワークシート]が表示されます。
[参照]ボタンをクリックして、データのインポート元となるExcelブックを指定します。
[現在のデータベースのデータの保存方法と保存場所を指定してください。]では、[現在のデータベースの新しいテーブルにソースデータをインポートする]を選択します。
そして、[OK]ボタンをクリックします。
[ワークシートインポートウィザード]が表示されます。
[先頭行をフィールド名として使う]のチェックボックスをオンにして、[次へ]ボタンをクリックします。
ここでのフィールドの並びは、インポート元Excelシートの順番通りです。
[次へ]ボタンをクリックします。
[インポートのオプションをフィールドごとに指定できます。]では、そのまま[次へ]ボタンをクリックします。
ここで[主キーを自動的に設定する]を選択して[次へ]ボタンをクリックします。
主キーについては、以下の記事で解説しています。
-
Accessテーブルの[主キー]の設定
Accessのテーブルでは、[主キー](シュキー)を設定することができます。[主キー]とは、各レコードを固有のものとして識別するフィールドの ...
ここで、[主キーを設定しない]を選択すると、問題は発生しません。
インポート先のテーブル名を指定して、[完了]ボタンをクリックします。
[インポート操作の保存]の画面になります。ここでは、保存せずに[閉じる]ボタンをクリックします。
参考Excelのデータをインポートする方法は、以下の記事でも解説しています。
-
Excelのデータをテーブルにインポート(ウィザードの使用と貼り付け)
AccessでExcelのデータをインポートしてテーブルを作成する方法です。 操作は簡単なのですが、なかなか思うように行かないこともあります ...
インポート操作を保存すると、コマンドボタンを作成してマクロとして登録することができます。
インポートやエクスポート操作を繰り返し行うような場合は、インポート操作を保存しておくと便利です。既定はオフになっています。
-
Excelへ出力(エクスポート)するコマンドボタンの作成
Access2010でテーブルやクエリをExcelへ出力するマクロを作成して、それをコマンドボタンに登録する方法です。 独立マクロを作成して ...
インポートしたテーブルのデザインビューとデータシートビュー
[主キーを自動的に設定する]の選択をしてインポートすると、フィールドの順番が変わります。
Access2016以降も、この現象は変わっていません。
[販売店]フィールドが先頭になって、[ID]が6番目になっています。
インポート元のExcelシートのフィールドの順番通りではありません。
データシートビューです。ファイル形式2000の場合です。
Access2002~2003ファイル形式の場合のデータシートビューは、以下のようになります。
デザインビューの並びは、ファイル形式2000の場合と同じですが、データシートビューの先頭は[ID]フィールドになります。
新拡張子(accdb)で同じ操作をした場合のテーブル
新拡張子(accdb)のデータベースで同じ操作をすると、オートナンバー型の[ID]フィールドが先頭フィールドになり、その後ろのフィールドは、Excelの並び通りになります。
これが正常です。
データシートビューです。
参考Accessで外部データをインポートする方法は、以下の記事でも解説しています。
-
テキストファイルのデータをインポート(定義ファイルの保存も可能)
Accessでテキストファイルをインポートするには、[テキストインポートウィザード]を使用します。 ウィザードにしたがって、テキストファイル ...
-
テーブルやクエリなどのオブジェクトをインポート(外部データの取り込み)
Accessで作成したデータベースが複数あり、1つのデータベースに他のデータベースのテーブルやクエリなどのオブジェクトをインポートする方法で ...
-
SharePointリストとAccessテーブルの連携(エクスポートとインポート)
Accessのテーブルやクエリは、SharePointリストへエクスポートできます。データベース内のテーブルやクエリを選択して個別にエクスポ ...