掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
RecordSetのUpdateで発生するエラーを解決するには? (ID:144156)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
はじめまして。 今データベースを2つ開き、片方のデータでもう片方を更新するというプログラムを作成中なのですが、どうしても解決できないエラーが発生しました。 1回目に更新した際はうまく通ったのですが、2回目以降で "追加情報: 行が見つからなかっため、更新できません。列の値は最後に読み込まれた後で変更された可能性があります。" というエラーが発生してしまいます。 このエラーについて調べてみても要領を得ないものが多く、理解ができませんでした。 以下詳細 Dim srcCon,destCon As ADODB.Connection Dim srcRs,destRs As ADODB.RecordSet Dim sql = "SELECT * FROM " & テーブル名 'Connectionの確立 srcCon = New ADODB.Connection destCon = New ADODB.Connection srcCon.Open("DSN=xxx;UID=xxx;PWD=xxx") srcCon.CursorLocation = 3 destCon.Open("DSN=xxx;UID=xxx;PWD=xxx") destCon.CursorLocation = 3 srcRs = New ADODB.RecordSet srcRs.Open(sql, srcCon, ADODB.CursorTypeEnum.adOpenForwardOnly, ADODB.LockTypeEnum.adLockReadOnly) While Not srcRs.EOF destRs = New ADODB.RecordSet destRs.Open(sql & " WHERE " & ※1, destCon, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic) If destRs.EOF = True Then destRs.AddNew() Debug.Print("INSERT") Else Debug.Print("UPDATE") End If Dim i As Integer For i = 0 To srcRs.Fields.Count - 1 destRs(columnName(i)).Value = srcRs(columnName(i)).Value Next destRs.Update() destRs.Close() destRs = Nothing srcRs.MoveNext() End While srcRs.Close() srcRs = Nothing Connectionクローズ処理 ※1:主キー名=srcRsの主キーデータ という形 わかりにくいかもしれませんが、どうかよろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.