Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4 / 2261 ツリー ←次へ | 前へ→

【13288】エクセルファイルを範囲を指定して、Accessの既存テーブルにインポート システム部 19/5/31(金) 10:09 質問[未読]
【13289】Re:エクセルファイルを範囲を指定して、Ac... hatena 19/6/3(月) 11:04 回答[未読]

【13288】エクセルファイルを範囲を指定して、Acc...
質問  システム部  - 19/5/31(金) 10:09 -

引用なし
パスワード
   エクセルファイルをAccessの既存テーブルにインポートし、データ追加したいと考えています。

エクセルファイルの1行目は項目名なので、取り込まない。
エクセルの項目行とテーブルの項目名は相違している。
エクセルのA列B列は取り込まず、C列からK列までを取り込みたい。
(エクセルの3列目がテーブルの1列目にデータ追加されるようにしたい。)
取り込みの最終行はその時々で変わる。

以下を考慮し、VBAを記述しましたが、うまくいきません。

DoCmd.TransferSpreadsheet
    acImport, acSpreadsheetTypeExcel9,
    "テーブル名", "Excelファイル名", False, "シート名$C2:K"


「実行時エラー2391
貼り付け先のテーブルにはF1フィールドがありません」
というエラーが表示されます。


エクセルの項目名をテーブルの項目名ど同じにはしたくありません。
項目名が違ってもエクセルの範囲を指定して取り込むことは可能でしょうか?
ご教授願います。

【13289】Re:エクセルファイルを範囲を指定して、...
回答  hatena  - 19/6/3(月) 11:04 -

引用なし
パスワード
   HasFieldNames引数をFalseに指定する(見出し行を使用しない)と、フィールド名は、F1, F2 ・・・と自動でつきます。

TransferSpreadsheet には、クエリも指定できますので、
フィールド名をエクセルに合わせたものを作成しておいて、
それにインポートすればいいでしょう。

SELECT Fild1 As F1, Fild2 As F2 ・・・
FROM テーブル名;

4 / 2261 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1041731
(SS)C-BOARD v3.8 is Free