
エクセルデータをアクセスへインポートしているのですが
ファイル数が多いため自動化を考えています。
※決まったフォルダーへファイルを入れておいて
メニューフォームから作業できるようにしたいと考えています
ファイルはcsv形式です
win98 アクセスは2000です
1.ファイルには全て見出しがついています。
(手動の場合は先頭行をフィールド名として使うにチェックを入れています)
2.ファイル名は常に同じ名前です
各ファイルを指定のテーブルにインポートしたいのですが
どのようなマクロを組めばよろしいのでしょうか?
(マクロを組まなければ出来ないですよね?)
また、参考図書がありましたら出版社と本の名前を教えていただけると
助かります。
(本屋で立ち読みをしたのですが、見つけることが出来ませんでした。)
お盆でお休みのところすみませんが、アクセス初心者のため、
ご教授願います。
No.3ベストアンサー
- 回答日時:
補足に対する回答です。
> データ型はそろえたのですがテーブルでは主キーでオートナンバー型の
> フィールドを先頭に入れています。
> これはファイルにはないので削除したほうがいいのですか?
削除してください。フィールド数が一致しないと良くないです。
一度テーブルが無い状態で試してください。
インポートですのでテーブルが新規で作成されるはずです。
ちなみに TransferSpreadsheet メソッドのパラメータでTrueとしているのは、
先頭行を項目名として扱うという意味です。
インポートすると、項目名が自動設定されます。
その後、型が会わない各種データを調整してください。
また、インポート時は、NULL値があったりすると正確にインポートできない場合がありますので気をつけてください。
そういう場合は、先頭20行程度、ダミーデータを予めExcelのシートに突っ込んでおく必要があります。
No.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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLSever 一括インポートについて
-
[VBA]csvファイルを開いて保存...
-
アクセス2007でのインポートエ...
-
Wordの文章をExcelに内容ごとに...
-
【Access】クエリで抽出...
-
複数のメールファイルを1つの...
-
多数のeml形式ファイルを1つの...
-
Excelのデータ(数字)をテキス...
-
複数のエクセルファイルをアク...
-
差し込み印刷の元データファイ...
-
ISOファイルとMDSファイル
-
Excel 2003 のエラーメッセージ
-
EXCEL共有ファイルの使用中の相...
-
「パス名が無効です」の発生原因
-
excel で通知と読み取り専用の...
-
エクセルで誰が今開いているか...
-
access2021 強制終了してしまう
-
Excelブックの共有をしているの...
-
Chromebookを使用しています。 ...
-
CSVファイルがカンマ区切りにな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Wordの文章をExcelに内容ごとに...
-
【Access】クエリで抽出...
-
SQLSever 一括インポートについて
-
Excelのデータ(数字)をテキス...
-
notepad++ で作成した文書を cs...
-
アクセス2007でのインポートエ...
-
ダブルクォーテーション囲いカ...
-
mdbをテキストに変換するツール...
-
ACCESS CSV形式でエクスポート...
-
VBA 複数のCSVファイルを一度...
-
複数eml形式のBecky!への一括イ...
-
ACCESS でインポートフ...
-
Excel 2016 テキストファイルの...
-
Excelでhtml形式のテキストを表...
-
CSVファイルのダブルクォーテー...
-
[VBA]csvファイルを開いて保存...
-
多数のeml形式ファイルを1つの...
-
エクセル2000で65536行を超える...
-
csvファイル中の「e」が変換さ...
-
ACCESS複数テキストファイルを...
おすすめ情報