在vb代码中设置循环删除记录语句

来源:百度知道 编辑:UC知道 时间:2024/05/11 01:09:04
……
oconn1.Provider = "MSDataShape"
oconn1.Open "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & st1
ors1.Open "select * from b1", oconn1, 1, 3
oconn2.Provider = "MSDataShape"
oconn2.Open "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & st2
ors2.Open "select * from b1", oconn2, 1, 3

ors1.MoveFirst
ors2.MoveFirst
Do While ors1.EOF = False
Do While ors2.EOF = False
If ors1.Fields(0).Value = ors2.Fields(0).Value Then
ors2.Delete
ors2.MoveFirst
Exit Do
Else
ors2.MoveNext
End If
Loop
ors1.MoveNext
Loop

ors1.Close
ors2.Close
MsgBox "删除成功!", vbOKOnly, "提示信息"
我这些语句的意思是在两个数据文件中查找第一个字段内容相同的记录,然后删除ors.2所指向的文件中相同记录,在VB中执行后会执行到出现MsgBox提示信息,可数据却一条也没被删除,到底在两个循环中哪里出错了呢?
谢谢enochwills,我是想设置两个表为用户指定的表

多此一举
用delete from b1 where ...的SQL语句就可以完成这个操作,直接在服务器上完成了,效率还高
你上面这个想法先查询一个视图,再拉到客户端上,删一个视图。视图和数据库表格不一样,根本就是不可删除的吗!就算是能删,数据库表格里面依然存在(因为视图是在客户端上,不是在服务器上,表格才是在服务器上)
概念本身就大错特错了
老老实实学习ANSI SQL吧,没学会走就学跑了