- ベストアンサー
access2002 DAOのデータ読込投入
今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に追加できますでしょうか? やりたいことは単純なのですが、クエリーでも僕のレベルでは、 うまくできそうにないので、質問させていただきました。 どうかよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
基本的にはOKです。 テーブルBは4フィールドでよいのでしょうか? 4つの変数がどこでもセットされていませんが、省略しているのですか? 追加クエリでも良さそうですし、クエリの方が速いのですがね。
その他の回答 (2)
変数の内容が決まらないのでクエリでは出来ないとの判断でしょうか? それぞれの変数の値を決めるのに、ユーザー定義関数を使うテもありますが... あと、#2さんが言われているように、 「RECORDSET」が「RRECORDSET」 「Nothing」が「Nothin」 だったりしていますが...
お礼
かなり難しくなってきましたね・・・。 がんばってみます。 ありがとうございました。
- t2hayashi
- ベストアンサー率46% (102/219)
DAO.RRECORDSET などの誤字はあります。 あと、dbDAOをCurrentDBでセット、 また、rsDAO2 がセットされていません。 rsDAO2 を opendbdynaset オプションで開く必要があります。 でないと編集できないですからね。 っていう構文問題ぐらいで(といっても致命的)、考え方としては合ってます。
お礼
致命的ですか・・・ ありがとうございました
お礼
ありがとうございます。 変数については、例として書かせていただいたもので、 定義するのを忘れていました。 実際には、設定する値に条件式がいくつかあるって、 クエリでは処理できないと判断したので、このように考えています。