while not rs.eof
if request("QTY_NOWRECEIVE"&rs("pd_id")) <> "" then
rsa.movefirst
if not rsa.eof then
if trim(request("stock_id"&rs("pd_id"))) = trim(rsa("stock_id")) and trim(request("ORDER_NUMBER"&rs("pd_id"))) = trim(rsa("PONumber")) then
'''check, same then edit record
(...)
rsa.update
else
'''check, not same then add record
rsa.addnew
(...)
rsa.update
end if
rsa.movenext
end if
end if
rs.movenext
wend
现在我有2个sql。表单中的sql1和数据库中的sql2。首先,我按表单1,2和3添加新记录。因此数据库得到记录1,2和3.然后我编辑成1a,2b和3c。但我在数据库中的结果是1a,2,3,1a和1a。我的逻辑完全错了吗?
现在我只想检查我的提交是否与数据库有相同的项目。如果相同则编辑,如果不相同则添加新的。
19-02-2014 1.add rsa.movefirst。 2.如果不是rsa.eof则改变而不是rsa.eof那么
答案 0 :(得分:0)
我不太关注你的情况,但我认为你需要第二个记录集,rsa
每次在rs
中有新记录时循环,对吗?
如果是这样,您需要通过添加movefirst
while not rs.eof
if (...) then
rsa.movefirst
while not rsa.eof
if (whatever) then
...
else
...
rsa.update
end if
rsa.movenext
wend
end if
rs.movenext
wend
如果你不添加MoveFirst,rsa将始终位于最后一条记录中,并且永远不会再次遍历循环。