OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

アクセスへの自動インポート

  • 困ってます
  • 質問No.118998
  • 閲覧数982
  • ありがとう数3
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 76% (16/21)

エクセルデータをアクセスへインポートしているのですが
ファイル数が多いため自動化を考えています。

※決まったフォルダーへファイルを入れておいて
メニューフォームから作業できるようにしたいと考えています

ファイルはcsv形式です
win98 アクセスは2000です

1.ファイルには全て見出しがついています。
(手動の場合は先頭行をフィールド名として使うにチェックを入れています)

2.ファイル名は常に同じ名前です

各ファイルを指定のテーブルにインポートしたいのですが
どのようなマクロを組めばよろしいのでしょうか?
(マクロを組まなければ出来ないですよね?)

また、参考図書がありましたら出版社と本の名前を教えていただけると
助かります。
(本屋で立ち読みをしたのですが、見つけることが出来ませんでした。)

お盆でお休みのところすみませんが、アクセス初心者のため、
ご教授願います。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.3
レベル10

ベストアンサー率 31% (44/140)

補足に対する回答です。

> データ型はそろえたのですがテーブルでは主キーでオートナンバー型の
> フィールドを先頭に入れています。
> これはファイルにはないので削除したほうがいいのですか?
削除してください。フィールド数が一致しないと良くないです。
一度テーブルが無い状態で試してください。
インポートですのでテーブルが新規で作成されるはずです。
ちなみに TransferSpreadsheet メソッドのパラメータでTrueとしているのは、
先頭行を項目名として扱うという意味です。
インポートすると、項目名が自動設定されます。
その後、型が会わない各種データを調整してください。
また、インポート時は、NULL値があったりすると正確にインポートできない場合がありますので気をつけてください。
そういう場合は、先頭20行程度、ダミーデータを予めExcelのシートに突っ込んでおく必要があります。
お礼コメント
taku0311

お礼率 76% (16/21)

度々すみませんでした
何とかうまくいきそうです。

ありがとうございました。
投稿日時 - 2001-08-16 16:58:12
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル10

ベストアンサー率 31% (44/140)

Docmd.TransferSpreadsheet acImport,,"設定したいテーブル名","フルパスのExcleファイル名",True,"シート名!範囲" と、こんな感じです。 上記で !範囲 を省略すれば、全範囲です。 TransferSpreadsheetメソッドの詳細は、Access VB Editorで ヘルプを参 ...続きを読む
Docmd.TransferSpreadsheet acImport,,"設定したいテーブル名","フルパスのExcleファイル名",True,"シート名!範囲"

と、こんな感じです。
上記で !範囲 を省略すれば、全範囲です。

TransferSpreadsheetメソッドの詳細は、Access VB Editorで
ヘルプを参照して見て下さい。
補足コメント
taku0311

お礼率 76% (16/21)

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
投稿日時 - 2001-08-15 17:01:15
お礼コメント
taku0311

お礼率 76% (16/21)

ありがとうございました。
アクセスは難しいですね
根気よくがんばってみます。
投稿日時 - 2001-08-16 16:54:58

  • 回答No.2
レベル12

ベストアンサー率 15% (82/544)

テキスト変換 で、区切り記号付きインポート      ・      ・ ファイル名はドライブから指定すれば出来ます。 上記を選択すればできると思います。 ダイアログボックスを使いたい場合は、モジュール等も使用するようになるので 面倒ですが・・・ ...続きを読む
テキスト変換
で、区切り記号付きインポート
     ・
     ・
ファイル名はドライブから指定すれば出来ます。

上記を選択すればできると思います。
ダイアログボックスを使いたい場合は、モジュール等も使用するようになるので
面倒ですが・・・
お礼コメント
taku0311

お礼率 76% (16/21)

ありがとうございました
<ファイル名はドライブから・・
うまく読み込みにいっているようです
それ以外がまだうまくいきませんが・・
がんばります
投稿日時 - 2001-08-16 16:57:16
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ