質問: ### Access【.accdb拡張子ファイル】にて.xlsxファイルの特定の列のみインポート Accessデータベース(.accdb)に存在する既存のテーブルに.xlsxファイルの特定の列のデータのみをインポートする形で、下記のコードを記述しましたが、3行ともに赤文字のエラーとなってしまいました。何がいけないんでしょうか? Officeは2010を使用しています。 ``` Private Sub マスタ更新_Click() INSERT INTO T99_社員マスタ(社員番号,社員名,退社日付,入室ID) SELECT 社員番号,社員名,退社日付,入室ID From [社員マスタ$] In "C:\Users\Documents\01-1 社員情報管理\99 社員マスタ.xlsx" "Excel 8.0;" End Sub ``` データファイル:99 社員マスタ.xlsx シート名:社員マスタ インポート先のテーブル名:T99_社員マスタ(新規作成ではなく、既存のテーブルに上書きです。) インポートする列名:社員番号、社員名、退社日付、入室IDです。
回答: VBAにSQLを直接記述しても駄目です。Executeメソッドで実行する必要があります。 ``` Private Sub マスタ更新_Click() Dim wSQL As String wSQL = "" wSQL = wSQL & VbCrLf & "INSERT INTO T99_社員マスタ(社員番号,社員名,退社日付,入室ID)" wSQL = wSQL & VbCrLf & "SELECT 社員番号,社員名,退社日付,入室ID From [社員マスタ$]" wSQL = wSQL & VbCrLf & "In 'C:\Users\Documents\01-1 社員情報管理\99 社員マスタ.xlsx' 'Excel 8.0'" CurrentDb.Execute wSQL End Sub ``` >T99_社員マスタ(新規作成ではなく、既存のテーブルに上書きです。) 上書きってupdateですか?