投稿日 | : 2002/09/03(Tue) 11:59 |
投稿者 | : A221 |
Eメール | : |
URL | : |
タイトル | : Re^6: VB SQLで アクセステーブルを操作 |
えー、とろさんが先に回答されているので蛇足的になりますが、
まずUPDATE節が
---------------------------------------------------------
sqltmp = "update B inner join C on B.b1=C.c1 set b2("
sqltmp = sqltmp & Day(w) & " - day(C.c2)) "
sqltmp = sqltmp & "where (C.c2 Between # " & Format(x, "yy/mm/dd"
)
sqltmp = sqltmp & " #" & "and # " & Format(w, "yy/mm/dd&
quot;) & "#)"
でINSERT節が
---------------------------------------------------------
sqltmp = "insert into B (b1 b2 b3) " & "select C.c1,"
sqltmp = sqltmp & Day(w) & " - day(C.c2),A.a2 "
sqltmp = sqltmp & "from A,B inner join C on B.b1=C.c1 "
sqltmp = sqltmp & "where ((C.c2 between C.c2 Between # "
sqltmp = sqltmp & Format(x, "yy/mm/dd") & " #"" & &q
uot;and # "
sqltmp = sqltmp & Format(w, "yy/mm/dd") & "#) " & "and (
B.b1 is null))"
---------------------------------------------------------
こうなると思います。
文字列の合成なので、動作の効率的には悪いですが、
区切り文字と型ちがいとかのエラーがわかりやすいので
私はいつも上記のように書いてます。
Msgbox sqltmp
で、プログラム中に表示させることもできますし。