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

アクセスを使って
UPDATE 在庫計画 SET 在庫計画.2 =[1]-[2];

在庫計画・・・テーブル名
1・・・フィールド名  ・・・1の在庫数
2・・・フィールド名  ・・・2の払出し数
上記のSQLで 2の払出し数を在庫数に更新して
在庫予測をします。
テーブルには、3,4,5・・・30,31のフィールド(払出し数)があります。
UPDATE 在庫計画 SET 在庫計画.3 =[2]-[3];
のように更新クエリを次々作って3,4,5・・・の在庫予測数に
更新して行くのは大変なので
VBA内でSQLを実行する方法を教えてください。
FOR NEXT を用いてループを組んでいけば良いのでしょうが
VBAの知識が無く困っています。

A 回答 (2件)

#1です


>ADOではなくVBAで作りたいと思います。
う~ん。よく分かりません。
「ADOでなくDAOで作りたいと思います。」
なら分かります。
DAOは当方覚える気はないので、お役には立てませんが。
http://www.accessclub.jp/dao/08.html
    • good
    • 0
この回答へのお礼

とりあえずできました。

Private Sub 在庫計画_Click()
Dim i As Integer
Dim a As Integer
i = 1
a = 1
For i = 1 To 15
a = a + 1
DoCmd.RunSQL "UPDATE 在庫計画 SET 在庫計画." & a & "=nz([" & i & "],0)-nz([" & a & "],0);"

Next i
End Sub

お礼日時:2009/06/18 11:06

>VBA内でSQLを実行する方法


http://www.accessclub.jp/ado/09.html
のページの下の方にありますが、こちらはADO関係の情報が非常に豊富ですので、ADO入門講座に目を通される事をお勧めします。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
ADOではなくVBAで作りたいと思います。

アクセスのSQLはDOループが使えないので
不便です。VBAまたはADOで書かないと
いけないのですから。

VBAの変数の記述を調べます。

お礼日時:2009/06/05 13:10

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A