• ベストアンサー

ACCESSでデータの書き込みが最終行のみできない

ACCESS2000を言語(ASP,VBS)でテーブルのデータをもう一つのテーブルに書き込む処理を行っています。以下のコードで処理を行って いますが、どうしても最後の行だけ書き込むことができません。 他のサイトで調べたところ、テーブルに書き込み処理を行った 後に、Excelで出力しているため、書き込み処理を行なう前に 次の処理が走ってしまうとの記事がありました。 そこで、sleepを書き込み処理後に書いたのですがどうやら関係 ないようです。 基本的な質問かもしれませんが、ご教授いただけると助かります。 以下コード do while not oRec_Q_W_Reg2Data.EOF oRec_Q_W_RegWData.addnew   oRec_Q_W_RegWData.Fields("Hantei") =  oRec_Q_W_Reg2Data.Fields("Hantei")   oRec_Q_W_Reg2Data.Movenext loop bobj.Sleep 10 Response.Write("このメッセージは10秒後に出力されます")↓

質問者が選んだベストアンサー

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

oRec_Q_W_RegWData.addnew   oRec_Q_W_RegWData.Fields("Hantei") =  oRec_Q_W_Reg2Data.Fields("Hantei")   oRec_Q_W_Reg2Data.Movenext loop ↓以下のように Update を入れてはどうでしょう oRec_Q_W_RegWData.addnew   oRec_Q_W_RegWData.Fields("Hantei") =  oRec_Q_W_Reg2Data.Fields("Hantei")   oRec_Q_W_Reg2Data.Movenext oRec_Q_W_RegWData.Update loop

boojar
質問者

お礼

御指摘のとおり、直してみたところ 無事書き込まれました。 ありがとうございました。助かりました。

その他の回答 (1)

noname#182251
noname#182251
回答No.1

VBS等よく知りませんが、ざっと見たところでは NEXT で、書き込みが行われているようです。最後の行に対してはNEXTが発生しないため、書き込みできない。 POST みたいな命令はないでしょうか? 最悪、直前のレコードに移動すれば、書き込みが発生するでしょう。

boojar
質問者

お礼

以上のやり方で問題は解決しました。 ただ最後の行でNEXTは発生しないことは、気づかなかったです。 ありがとうございました。

関連するQ&A