求助,关于记录删除
首先运行查找按钮查找到相关记录Private Sub CmdOK_Click()
Set rs = New ADODB.Recordset
sql = "SELECT * from domainname where 姓名 like '%" & Text1.Text & "%'"
rs.Open sql, conn, adOpenKeyset, adLockOptimistic
If Not rs.BOF And Not rs.EOF Then
rs.MoveFirst
Call Mainfrm.TxtView
Mainfrm.CmdDel.Enabled = True
Mainfrm.CmdUp.Enabled = True
Mainfrm.CmdDown.Enabled = True
Call Mainfrm.MSF
Unload Me
Else
MsgBox "要查找的用户不存在", , "提示!"
End If
End Sub
然后删除这条记录
Private Sub CmdDel_Click()
If Not rs.EOF And Not rs.BOF Then
rs.Delete
MsgBox "删除成功", , "提示!"
rs.Update
rs.MoveNext
' conn.Execute "delete from domainname where 姓名='" & TxtName.Text & "'"
If Not rs.BOF And Not rs.EOF Then
Call TxtView
Call MSF
Else
Call TxtNull
MSFlexGrid1.Clear
End If
End If
End Sub
删除不了,请帮忙看看 怎么没人回答呢 感觉你的乱乱的
记录应该已经删掉了
都已经全删掉了 怎么还MoveNext呢?
提示删掉成功是不是应该放在rs.update后面?还没update怎么算是删除成功呢?
另外 rs的属性你设置了吗?比如说CursorLocation
可能你的rs.open获得的记录集就没数据,你检查一下RecordCount属性试试?
判断有没有记录怎么不用rs.recordcount>0?
定义rs怎么不直接用dim rs as new adodb.recordset?这样一句就够了,还要什么set rs=new adodb.recordset?
Call Msf可能是刷新表格吧? 确认刷新表格的过程里语句完全正确?
回复 3# 的帖子
终于有好心人了,非常感谢你的答复,因为我刚学连接access数据库不久,一些在逻辑上的不是很清楚,按照你说的我修改了下Option Explicit
Public conn As New ADODB.Connection
Public rs As New ADODB.Recordset
Private Sub CmdOK_Click()
sql = "SELECT * from domainname where 姓名 like '%" & Text1.Text & "%'"
conn.CursorLocation = adUseClient '我想在登际窗口已经写了这句,在这可以省略,对吗?
rs.Open sql, conn, adOpenKeyset, adLockOptimistic
If Not rs.BOF And Not rs.EOF Then
rs.MoveFirst
Call Mainfrm.TxtView '将记录显示在文本框中
Mainfrm.CmdDel.Enabled = True
Mainfrm.CmdUp.Enabled = True
Mainfrm.CmdDown.Enabled = True
Call Mainfrm.MSF '刷新msflexgrid控件内容
Unload Me
Else
MsgBox "要查找的用户不存在", , "提示!"
End If
End Sub
然后删除这条记录,我的思路是删除当前一条记录后自动移到下一条记录,并显示在文本框中
Private Sub CmdDel_Click()
If Not rs.EOF And Not rs.BOF Then
rs.Delete
rs.Update
MsgBox "删除成功", , "提示!"
if Not rs.EOF Then
rs.MoveNext
If Not rs.BOF And Not rs.EOF Then
Call TxtView
Call MSF
Else
Call TxtNull
MSFlexGrid1.Clear
End If
End If
End If
End Sub
这样写还是不会提示删除成功啊,请帮忙看看。。。 unload me后,rs记录因为还在吧。。。 删除不需update,应如:
With rs
.Delete
.Requery
End With
回复 6# 的帖子
谢谢,有没有帮我回答其它问题页:
[1]
