出来るのだASP Q&A掲示板(過去LOG)
訪問数 52046
昨日 889
今日 776 【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。 |
![]() ![]() ![]() ![]() ![]() |
[4290] Re:レコードを連続して更新できません。 |
投稿者:snoopさん 2004/05/18 13:43:15 |
説明不足ですいません。 > On Error Resume Next使ってますか? 使っていません。 更新したい情報は、 > > ・テーブル(HOLIDAY) > > holi_Code 日付コード テキスト型 主キー > > holi_Date 日付 テキスト型 holi_Codeをキーにして該当するレコードを見つけて holi_Dateの値を変更します (例) ・tmpには変更するレコードを探すためのholi_Codeの値が入っています(例:41,42,43) ・resultTmpには、新しいholi_Dateの値。(例:04/05/18,04/05/19,04/05/20) > > tmp = Split(koshinDay, ",") //holi_Code > > resultTmp = Split(result, ",") //holi_Date(04/05/18) tmpの値の個数分続ける。(上の例だと3回繰り返す) > > For i=0 To Ubound(tmp) > > StrSQL = "update HOLIDAY set " > > StrSQL = StrSQL & " holi_Date = '" & resultTmp(i+1) & "'" > > StrSQL = StrSQL & " where holi_Code = '" & tmp(i) & "'" > > ObjConn.Execute(StrSQL) > > Next これを実行すれば、3つのレコードの値を変更できるはずなのですが、 For文においてiが0のとき(1回目)は、SQLが実行されてテーブルの値が変更されるのですが、iが1(2回目)、iが2(3回目)がエラーにはならないのですがテーブルの値が変更されず、1つのレコードにしか変更が反映されません。 処理後の画面は更新完了と表示し、正常に動いています。 このような説明で伝わればいいのですが・・・。 よろしくお願いします > こんにちは YasNet(管理人)です。 > > On Error Resume Next使ってますか? > 使っているなら、一度コメントアウトすると > 原因が判明するかもしれませんよ。 > > 何度か文面を読み直したのですが > どう更新出来ないのか、どんな状態なのかが不明です。 > 状態は、2回目が更新できないとありますが・・・ > > 画面上どうなっているのでしょうか・・・ > もう少し情報頂けませんかぁ〜 > > それでは 失礼致します。 > > > こんにちは、snoopと申します。 > > > > 早速ですが、いまFor文を使って任意の回数分の > > update文を実行したいと思っています。 > > しかし、1回目の更新は実行されるのですが、 > > それ以降が実行されません。 > > ソースはおそらくあっていると思うのですが、 > > 何度も試行錯誤してもうまくいかないので > > どなたか教えていただけませんか? > > > > ・テーブル > > holi_Code 日付コード テキスト型 主キー > > holi_Date 日付 テキスト型 > > > > ・ソース > > : 省略 > > : > > tmp = Split(koshinDay, ",") > > resultTmp = Split(result, ",") > > > > 'トランザクションの開始 > > ObjConn.BeginTrans > > > > For i=0 To Ubound(tmp) > > If Len(resultTmp(i+1)) <> 8 Then > > Err.Number = 1 > > Exit For > > End If > > StrSQL = "update HOLIDAY set " > > StrSQL = StrSQL & " holi_Date = '" & resultTmp(i+1) & "'" > > StrSQL = StrSQL & " where holi_Code = '" & tmp(i) & "'" > > ObjConn.Execute(StrSQL) > > Next > > > > 'トランザクション中にエラーがないかの確認と各処理 > > 'エラーがない場合、コミット処理 > > If Err.Number = 0 then > > : > > : 省略 > > : > > > > よろしくお願いします。 |
![]() ![]() |
![]() ![]() ![]() |
TreeBBS For ASP V.0.1.3 |