Access2010で、非常に困ったことがあります。
拡張子がmdbファイルで、Excelのワークシートからデータをインポートするとフィールドの順番が変わってしまいます。
mdbファイルで外部データのインポート
旧拡張子(.mdb)のデータベースがあります。
Access2000ファイル形式、または、Access2002~2003ファイル形式です。
[外部データ]タブの[インポートとリンク]グループにある[Excel]をクリックします。
Excelワークシートのインポート
Microsoft Excelファイルからデータをインポートします。または、Microsoft Excelファイルのデータにリンクします。
[外部データの取り込み-Excelワークシート]が表示されます。
[参照]ボタンをクリックして、データのインポート元となるExcelブックを指定します。
[現在のデータベースのデータの保存方法と保存場所を指定してください。]では、[現在のデータベースの新しいテーブルにソースデータをインポートする]を選択して、[OK]ボタンをクリックします。
[ワークシートインポートウィザード]が表示されます。
[先頭行をフィールド名として使う]のチェックボックスをオンにして、[次へ]ボタンをクリックします。
フィールドの並びは、Excelシートの順番通りです。
[次へ]ボタンをクリックします。
[インポートのオプションをフィールドごとに指定できます。]では、そのまま[次へ]ボタンをクリックします。
主キーの設定
[ワークシートインポートウィザード]の3枚目で主キーについての設問があります。
新規テーブルには主キーを設定すると便利です。主キーがあるとテーブルの各レコードを一位に識別できるので、目的のデータを見つけやすくなります。
ここで[主キーを自動的に設定する]を選択して[次へ]ボタンをクリックします。
インポート先のテーブル名を指定します。[完了]ボタンをクリックします。
[インポート操作の保存]の画面になります。ここでは、保存せずに[閉じる]ボタンをクリックします。
参考[主キー]については、以下の記事で解説しています。
-
Accessテーブルの[主キー]の設定
Accessのテーブルでは、[主キー](シュキー)を設定することができます。[主キー]とは、各レコードを固有のものとして識別するフィールドの ...
インポート操作を保存すると、コマンドボタンを作成してマクロとして登録することができます。
インポートやエクスポート操作を繰り返し行うような場合は、インポート操作を保存しておくと便利です。既定はオフになっています。
-
Excelへ出力(エクスポート)するコマンドボタンの作成
Access2010でテーブルやクエリをExcelへ出力するマクロを作成して、それをコマンドボタンに登録する方法です。 独立マクロを作成して ...
テーブルのデザインビューで確認
以下は、インポートしたテーブル[T_主キー自動設定]のデザインビューです。
[ID]フィールドが下から2番目の位置にあり、他のフィールドもExcelのフィールドの順番どおりではなく、一部が変わってしまいます。
テーブルのデータシートビューです。
もちろん、フィールドをドラッグして並び替えすれば問題ありませんが、ここに手間がかかってしまいます。
主キーの設定をしない場合
ワークシートインポートウィザードで、[主キーの設定をしない]を選択した場合は、
[T_主キー設定なし]テーブルのようにフィールドの順番は変わりません。
テーブルのデザインビューとデータシートビューです。
2つのテーブルのデザインビューを比較するとはっきりします。
左側が主キーを設定しなかった場合、右側が主キーを自動設定した場合です。
困ったもんです。早く解決してくれないでしょうか。
参考拡張子が[.accdb]の場合は発生しません。拡張子が[.mdb]の場合にこの現象になります。
Access2007も、Access2013も同じ現象です。Access2016以降も変わっていません。
以下は、Access2013での解説です。
-
mdbファイルではインポートしたフィールドの順番が変わる
Access2013で拡張子[.mdb]で操作する時に発生する問題点です。 Access2000ファイル形式とAccess2002~2003 ...
Excelのデータをインポートする方法は、以下の記事でも解説しています。
-
Excelのデータをテーブルにインポート(ウィザードの使用と貼り付け)
AccessでExcelのデータをインポートしてテーブルを作成する方法です。 操作は簡単なのですが、なかなか思うように行かないこともあります ...
旧拡張子(mdb)から新しい拡張子(accdb)に変換する方法は、以下の記事で解説しています。
-
mdbファイルをaccdbファイルに変換
Access2003で作成した[.mdb]ファイルを新拡張子である[.accdb]のファイルに変換する方法です。 新拡張子でなければ使えない ...