出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

[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
> >         :
> >         : 省略
> >         :
> >
> > よろしくお願いします。

レコードを連続して更新できません。   snoopさん [2004/05/18 10:47:02] [4287]
  Re:レコードを連続して更新できません。   YasNet(管理人)さん [2004/05/18 12:29:53] [4289]
    Re:レコードを連続して更新できません。   snoopさん [2004/05/18 13:43:15] [4290]
      Re:レコードを連続して更新できません。   YasNet(管理人)さん [2004/05/18 15:09:47] [4291]


TreeBBS For ASP V.0.1.3
Program By YasNet