エクセルデータをアクセスへインポートしているのですが
ファイル数が多いため自動化を考えています。
※決まったフォルダーへファイルを入れておいて
メニューフォームから作業できるようにしたいと考えています
ファイルはcsv形式です
win98 アクセスは2000です
1.ファイルには全て見出しがついています。
(手動の場合は先頭行をフィールド名として使うにチェックを入れています)
2.ファイル名は常に同じ名前です
各ファイルを指定のテーブルにインポートしたいのですが
どのようなマクロを組めばよろしいのでしょうか?
(マクロを組まなければ出来ないですよね?)
また、参考図書がありましたら出版社と本の名前を教えていただけると
助かります。
(本屋で立ち読みをしたのですが、見つけることが出来ませんでした。)
お盆でお休みのところすみませんが、アクセス初心者のため、
ご教授願います。
No.1
- 回答日時:
Docmd.TransferSpreadsheet acImport,,"設定したいテーブル名","フルパスのExcleファイル名",True,"シート名!範囲"
と、こんな感じです。
上記で !範囲 を省略すれば、全範囲です。
TransferSpreadsheetメソッドの詳細は、Access VB Editorで
ヘルプを参照して見て下さい。
この回答への補足
miya777さん
早速ありがとうございます。
試したみたのですが、下記のようなマクロでよろしいでしょうか
実行すると「外部テーブルのフォーマットが正しくありません。」
のエラーが表示されてしまいます。
データ型はそろえたのですがテーブルでは主キーでオートナンバー型の
フィールドを先頭に入れています。
これはファイルにはないので削除したほうがいいのですか?
それとも下記がまったく違うのでしょうか?
お手数をおかけしますが教えてください。
Private Sub コマンド1_Click()
On Error GoTo Err_コマンド1_Click
Dim stDocName As String
stDocName = "マクロ1"
DoCmd.TransferSpreadsheet acImport, , "head", "head.csv", True, "head!"
Exit_コマンド1_Click:
Exit Sub
Err_コマンド1_Click:
MsgBox Err.Description
Resume Exit_コマンド1_Click
End Sub
No.2
- 回答日時:
テキスト変換
で、区切り記号付きインポート
・
・
ファイル名はドライブから指定すれば出来ます。
上記を選択すればできると思います。
ダイアログボックスを使いたい場合は、モジュール等も使用するようになるので
面倒ですが・・・
ありがとうございました
<ファイル名はドライブから・・
うまく読み込みにいっているようです
それ以外がまだうまくいきませんが・・
がんばります
No.3ベストアンサー
- 回答日時:
補足に対する回答です。
> データ型はそろえたのですがテーブルでは主キーでオートナンバー型の
> フィールドを先頭に入れています。
> これはファイルにはないので削除したほうがいいのですか?
削除してください。フィールド数が一致しないと良くないです。
一度テーブルが無い状態で試してください。
インポートですのでテーブルが新規で作成されるはずです。
ちなみに TransferSpreadsheet メソッドのパラメータでTrueとしているのは、
先頭行を項目名として扱うという意味です。
インポートすると、項目名が自動設定されます。
その後、型が会わない各種データを調整してください。
また、インポート時は、NULL値があったりすると正確にインポートできない場合がありますので気をつけてください。
そういう場合は、先頭20行程度、ダミーデータを予めExcelのシートに突っ込んでおく必要があります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) スキルシートのエクセルの項目に 2 2023/04/04 22:41
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/12 10:10
- Outlook(アウトルック) 【 Windows 10 】アドレス帳に正しくインポートを完了させたい。 3 2023/04/23 13:41
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Access】クエリで抽出...
-
SQLSever 一括インポートについて
-
Wordの文章をExcelに内容ごとに...
-
Excelのデータ(数字)をテキス...
-
CSVファイルでの数字表記のエラー
-
Accessのテーブルにデー...
-
複数eml形式のBecky!への一括イ...
-
アクセスで小数点以下1桁まで...
-
osv形式ファイル
-
ダブルクォーテーション囲いカ...
-
ACCESS CSV形式でエクスポート...
-
多数のeml形式ファイルを1つの...
-
Excelでhtml形式のテキストを表...
-
AccessのマクロでCSVファイルを...
-
差し込み印刷の元データファイ...
-
ISOファイルとMDSファイル
-
ACCESSでデータ読み取り専用を...
-
EXCELが勝手に「読み取り専用」...
-
Word差し込み印刷、フォルダの...
-
Word2000でvlookup
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Access】クエリで抽出...
-
Wordの文章をExcelに内容ごとに...
-
Excelのデータ(数字)をテキス...
-
Excelでhtml形式のテキストを表...
-
複数eml形式のBecky!への一括イ...
-
SQLSever 一括インポートについて
-
アクセス(ACCESS) インポート...
-
ダブルクォーテーション囲いカ...
-
アクセス2007でのインポートエ...
-
多数のeml形式ファイルを1つの...
-
VBA 複数のCSVファイルを一度...
-
ACCESS CSV形式でエクスポート...
-
複数のメールファイルを1つの...
-
アクセスで小数点以下1桁まで...
-
ACCESS でインポートフ...
-
エクセル2000で65536行を超える...
-
[VBA]csvファイルを開いて保存...
-
CSVファイルを固定長のテキスト...
-
複数のエクセルファイルをアク...
-
ACCESS複数テキストファイルを...
おすすめ情報