更新日: 2011-08-10 18:05:37

ExcelからAccessにデータを取り込む方法

著者: BEAR

編集者: OKWAVE Guideスタッフ

閲覧数: 676

Okgn btn gudie info favorite

0

関連タグ:

はじめに

Photo by BEAR

Access初心者、VBA初中級者です。 VBAで、ExcelからAccessにデータを取り込んでいます。 ですが、Excelの表はAccessのDBの型と一致していません。取り込む場合、特定の列のデータをAccessの特定のフィールドに取り込むことはできますか?

STEP1

rs.Open "テーブル名", CurrentProject.Connection, adOpenForwardOnly, adLockOptimistic ここの部分は、ただ単にテーブルをオープンしたでけになります。

STEP2 その後

rs.MoveNext 等で、処理対象のレコードに移動したりします。
rs.AddNew は、新規レコードを追加しますよ、っていうものになります

STEP3

rs("品番") = oApp.Cells(iRow, 1) >  rs("商品名") = oApp.Cells(iRow,
2)でフィールドに値を代入(設定)し、 > rs.Update で、登録しています。

STEP4

処理の流れで、rs.AddNew しないでフィールドに値を代入し rs.Update すると これは、更新、になります。(ADOの場合)
DAOの場合は、rs.Edit を記述し、これから更新しますよ、って指定します。 更新されるものは、現在参照できているレコードになります。

レコードセットを操作して、更新/削除/新規登録する場合は、 テーブルをオープンする際に、INSERT 等は指定する必要がありません。

STEP5

SQLを発行して完結するもの(INSERT,DELETE,UPDATEなど)は、 一般的にアクションクエリとか呼ばれています。(クエリでの話ですが) これらを実行する時には、レコードセットをオープンする操作ではなく Execute するもので実行します。 例えば "DELETE * FROM テーブルA" を実行する時には、ADOでは CurrentProject.Connection.Execute "DELETE * FROM テーブルA" とかにします。

まとめ

ちょっとややこしいですが、ご理解頂けましたでしょうか?

【PR】


このガイドは役に立ちましたか?ガイドの著者にお礼を伝えよう!

Okgn btn gudie info thunks b

35

関連タグ:

当ガイドは作成日時点での情報です。ガイド内容の実施はご自身の責任の元、ご利用いただきますようお願いいたします。

このガイドを通報する