Excelの表をAccessのテーブルに貼り付けできません。いつものノリで、ctrl+c でコピーし、ctrl+vしても、最初の列(IDのフィールド)にデータが入らない。元データが潰れてしまいます。
まずはお手軽なコピー&ペーストを覚えたい。(扱うデータも膨大ですし…)
うまくいったのがこの方法
ctrl+V で貼り付けるのではなく、
「ナビゲーションウィンドウ」を右クリックして表示される「貼り付け」をクリックする
他にもやり方はあるそうですが…
初見だったこちらで備忘録を書きます。
AccessテーブルID列 に Excel表のA列 が貼り付けできない
初心者にはよく起こるのでしょうか…
事象:Excel表をコピペしてもID列に潰される
まず再現します。Excelの以下のような表をAccessに入れたい。(実際はもっと膨大な列でやりましたが、説明はこちらでします)
Accessでテーブルを作っておきます。「作成」タブをクリック→「テーブル」をクリックすると、「テーブル1」ができました。
Excelで貼り付けたい範囲をコピーします。
Accessのテーブル画面に戻って、貼り付けます。
すると…こんな感じでうまく入りません、、、
最初の列は「種類」という列名になるはずが、IDのまま。猫、猫、犬、…と入るはずが、1,2,3,4,5…となってしまっています。
Excel→Access コピー&貼り付けの対処法
解決策はこちらの動画で見つけました。うまくいったので紹介します。
対処法:「ナビゲーションウィンドウ」右クリックの「貼り付け」を使う
Excelシートを選択してコピーします。これは同じですね。
続いて、Accessに戻り「すべてのAccess…」という文字を右クリックします。ここで出てきた「貼り付け」をクリックします。(※文字でなくても「ナビゲーションウィンドウ」(左側のエリア)ならどこで右クリックしても表示されます)
※この方法はあらかじめテーブルを用意しておく必要はありません
こんなところにも「貼り付け」が出てくるなんて…
表示されたメッセージ「データの最初の行には、列ヘッダーが含まれていますか?」で「はい」をクリックします。
※貼り付けるExcelデータの1行目が列見出し(種類、名前、可愛さ、呼び方)になっているので「はい」にしました。
続いて、「すべてのオブジェクトがインポートされました」で「OK」をクリック
すると…
新しいテーブルが作成されました。
パチパチパチ!!!
Ctrl+cでコピーしたからといって、Ctrl+V で貼り付けてはいけない
よく見る対処法:「貼り付け元」と「貼り付け先」の列数・並びを揃える
この問題を調べていると、「AccessテーブルとExcel表は同じ列数・同じ並び順にする」という方法がまず出てきますよね。
私はいつもうまくいかないんですが…(だからこれを書いてる!)、なぜか今回はうまくいった?ので紹介します。
気づいたのは、Accessテーブルの「ID列」を消して、列の数を揃えるのではなく、「ID列の隣」に列を追加するということでしょうか??
(※だったら、合計5列になるわけで、元のExcelは4列だし、揃ってないじゃないかと思うけど…)
Accessテーブルの左上をクリックして全選択して、ctrl+vで貼り付けると、今回は貼り付けができました。
Excelは4列だったのに、Accessの仕上がりは5列になってるけど??
この方法は私は多くは語りません… (わかってないだけ)
まとめ
「列数・順番を揃えてから貼り付ける」というのが、今回に限ってうまくできたのが腑に落ちない。
ID列の隣に列を追加したのが良かったのか。
(AccessのID列の挙動・役割がよくわかっていない。ただジャマだなーと思っている←初心者)
ぶつぶつ…