プロが教えるわが家の防犯対策術!

今access2002のアプリケーションを作っています。

そのデータをエクセルから、テーブルにインポートする作業を仕様としています。

今考えているのは、EXCELのデータを、
ほぼそのままテーブルAとしてインポートし、
そのテーブルを読み込んで編集&項目追加をして、
テーブルBに書き込みます。
その際、のコーディングは、

Private Sub sample_click()

DIM dbDAO AS DAO.DATABASE
DIM rsDAO AS DAO.RRECORDSET
DIM rsDAO2 AS DAO.RRECORDSET

set rsDAO = dbDAO.OPENrecordset("テーブルA",dbOpenTable)
Do Until rsDAO.EOF = true
rsDAO2.AddNew
rsDAO2.項目B1 = rsDAO.項目A1+変数A1
rsDAO2.項目B2 = rsDAO.項目A2*変数A2
rsDAO2.項目B3 = rsDAO.項目A3/変数A3
rsDAO2.項目B4 = rsDAO.項目A4-変数A4
rsDAO2.Update
rsDAO.MoveNext
loop
rsDAO.Close: Set rsDAO = Nothin
rsDAO2.Close: Set rsDAO2 = Nothin

End Sub

上記のように記述すると、テーブルAの全レコードを、
すべて自動編集し、テーブルBに追加できますでしょうか?

やりたいことは単純なのですが、クエリーでも僕のレベルでは、
うまくできそうにないので、質問させていただきました。
どうかよろしくお願いします。

A 回答 (3件)

変数の内容が決まらないのでクエリでは出来ないとの判断でしょうか?



それぞれの変数の値を決めるのに、ユーザー定義関数を使うテもありますが...

あと、#2さんが言われているように、
「RECORDSET」が「RRECORDSET」
「Nothing」が「Nothin」
だったりしていますが...
    • good
    • 0
この回答へのお礼

かなり難しくなってきましたね・・・。
がんばってみます。
ありがとうございました。

お礼日時:2007/12/05 20:58

DAO.RRECORDSET などの誤字はあります。


あと、dbDAOをCurrentDBでセット、

また、rsDAO2 がセットされていません。
rsDAO2 を opendbdynaset オプションで開く必要があります。
でないと編集できないですからね。

っていう構文問題ぐらいで(といっても致命的)、考え方としては合ってます。
    • good
    • 0
この回答へのお礼

致命的ですか・・・
ありがとうございました

お礼日時:2007/12/05 20:58

基本的にはOKです。


テーブルBは4フィールドでよいのでしょうか?
4つの変数がどこでもセットされていませんが、省略しているのですか?

追加クエリでも良さそうですし、クエリの方が速いのですがね。
    • good
    • 0
この回答へのお礼

ありがとうございます。
変数については、例として書かせていただいたもので、
定義するのを忘れていました。
実際には、設定する値に条件式がいくつかあるって、
クエリでは処理できないと判断したので、このように考えています。

お礼日時:2007/12/03 10:30

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