VB和ACCESS 删除数据

来源:百度知道 编辑:UC知道 时间:2024/05/21 16:51:49
请大侠们帮个忙!!!
有一个ACCESS名为人员的数据库,里面有一个名为记事本的表,里面有姓名信息。
Sel = ""
SQL = "select * from 电话本 where 1=1"
SQL = SQL + Sel

Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strcnn As String
strcnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\人员.mdb;Persist Security Info=False"
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
conn.Open strcnn
rs.Open SQL, conn, 3, 3
’打开数据库里的表
姓名显示在VB里的TEXT1控件里,可以上下移动改变显示不同信息。
然后用:
rs.Delete
rs.Close
conn.Close
MsgBox "删除成功", vbOKOnly, "提示"
删除表内信息,,这个不管我选的是第几个信息,删除的都是第一条。
我想问的是如何让TEXT1里显示姓名是表中第几条的就删除相应的那一条信息。应该如何判断????
请高手帮帮忙~~~~谢谢~~~~

这里建议改用adodb控件还有datagrid 控件结合来做比较简单一点,
第一 新建 一个datagrid1 控件还在adodc1控件
第二 让adodc1数据库连接好(这点会吧?)设定datagrid1的datasource 属性为 adodc1.
第三 设定你文本框里的的datasource 属性为adodc1,datafield 就选择你想要在当前文本框里显示的相对应的字段,分别设好每个文本框
然后就大工告成啦!
再做一个删除按钮
If Adodc1.Recordset.BOF = True Then
MsgBox "没有记录可以删除"
Exit Sub
End If
With Adodc1.Recordset
If Not .EOF And Not .BOF Then
If MsgBox("确认删除当前记录?", vbYesNo + vbQuestion) = vbYes Then
.Delete
.MoveNext
If .EOF Then .MoveNext
End If
End If
End With
Exit Sub
End Sub
这里 datagrid1控件会显示你表里的信息,你鼠标移动哪一条记录文本框就会改变成鼠标当前记录!,,当然也可以不要,,不要就要做一个类似,下一条,上一条类似 的按钮了!

只要有移动数据指针,就会删除当前指针位置的数据。
你代码不全,不好说。
移动数据指针用
rs.move 3
移到第三条记录上(以当前记录为准)

用SQL语句嘛
sql="delete from 电话本 where 姓名=" & text1.text & ""