dポイントプレゼントキャンペーン実施中!

AccessでCSV形式ファイルを加工してインポートしたいのですが、
VBAの記述方法はどのように記述すればいいでしょうか?
<やりたいこと>
  既存のAccessに”商品”というテーブルが存在します。
  Accessとは別に”商品”というcsvファイルがあります。このcsvファイルの1行目は不要で
  2行目以降が必要なデータです。
  2行目以降を既存Accessの”商品”テーブルに上書きインポートする。

頻繁に繰り返す作業なので自動化できないか悩んでいます。どのたか詳しい方教えてください。

A 回答 (3件)

ネットで調べればいくらでも出ますが、自分でやりたいなら日本語マクロを自分で組んで、そのあとコード変換しましょう。


一行目を削除するのはVBAでもできますが、削除クエリの方が簡単です。

どうしてもコードくれ、というなら、優しい人を待ってください。
コードまで落とし込んで、エラーで上手くいかないときは、また質問してください。
    • good
    • 0

普通にテーブルデザインで、フィールドを設定してインポートするだけ


では駄目でしょうか。取り敢えずはインポートをしてから。後の処理は
何とかなると思いますが。

その意味では、最初のレコードは不要ですので最初は、先頭のレコード
は削除クエリーで削除します。

次の2番目のレコードも本来はフィールド名ですので必要かも知れませ
んが。それは、若しも必要であれば何処かのテーブルに保存しておけば
良いと思います。

何れにしてもここでは2番目のレコードも削除クエリーで削除します。
そうすると残り全てが必要と成るデータになります。唯それだけです
が。ここ迄の処理で、何か難しい事が有るのでしょうか。

何も無いと思いますが。Excelの場合は往々にして見栄えなどが邪魔を
して純然たるAccessのデータベースに乗らないと言う事は有り得る話で
すから。この様な処理は有っても不思議では無いです。

ここで、必要なのはしっかりとしたテーブルデザインだけですので。そ
れ以上の事は何も無いと思います。

vbaとかの問題では無いと思いますが。単にここではインポートして、
削除クエリーを行なうだけで済む問題だと思いますが。先ずはそれを
やってからだと思います。そこから、マクロだとかvbaの話になりま
す。

宜しくです。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。やってみます。

お礼日時:2017/03/02 20:20

いきなりのvbaを行なう前に先ずは、リボンよりcsvからテーブルにイン


ポート出来る事を確認してから手順を踏んでからの処理の方が理解がし
易いと思います。

リボンから、
「外部データ」「インポート」「テキストファイル」からインポートす
るcsvを選んで、区切り記号付きを選んで、先頭行をフィールド名とし
て使うを選んで、完了をクリックすると先頭行は無視されて2行目以降
がデータとしてテーブルにインポートされます。

先ずは、ここ迄を実際に行なって処理の全体を確認をしてから次は、こ
の操作をマクロに組む。後は、このマクロをリボンから。
「データベースツール」「マクロ」「マクロをvisual basicに変換」を
選んで、vbaに変換するのが早いと思います。

かなり、端折っていますが。2行目以降のインポートは最初からその様
な機能が付いていますので、何も考えずに処理が出来ます。この事は、
実際に自分の目で行なって確認を取ってからの方が理解が早いと思いま
す。

なお、いきなりのvbaと言うのは出来ない様になっています。と言うの
は、実際にインポートをしてからで無いとインポートの定義ファイルと
言うのは作り様が無いからです。

別に、この方法を取らなくても出来る方法と言うのは有るのかも知れま
せんが。それは、標準的な方法では有りません。その方法と言うのは隠
しオブジェクトを触らないと行けないからです。

そんな所よりも最初は標準の方法でやればそんなに難しい処理は必要で
は有りません。

頑張って見て下さい。
    • good
    • 0
この回答へのお礼

すみません。削除するのは、1行目で必要なのは2行目をフィールド名、3行目以降をデータとしてインポートしたいのですが。説明下手ですみません。

お礼日時:2017/03/01 14:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!