vb通讯录管理程序怎么编程啊

用vb和access数据库联系起来,需要增删改,周五就得交了,大家帮帮忙啊。。。。... 用vb和access数据库联系起来,需要增删改,周五就得交了,大家帮帮忙啊。。。。 展开
 我来答
匿名用户
2013-07-25
展开全部
Option Explicit '定义全局变量
Dim gSet As New ADODB.Recordset '存储记录集
Dim gConn As New ADODB.Connection '存储本窗体用的数据库连接Private Sub cmdAdd_Click() '添加记录集
gSet.AddNew Array("姓名", "电话", "电子邮箱", "地址"), Array(txtName, txtTel, txtEmail, txtAddr)
Dim n As Integer
n = lsAddr.ListCount
lsAddr.AddItem txtName
'选中当前添加的记录
lsAddr.ListIndex = n
End SubPrivate Sub cmdDelete_Click() '删除当前记录
Dim n As Integer
n = lsAddr.ListIndex
If n <> -1 Then
result = MsgBox("确定要删除当前记录吗?此操作不可撤销", vbYesNo, "删除记录")
If result = vbYes Then
gSet.Delete
lsAddr.RemoveItem (lsAddr.ListIndex)
If lsAddr.ListCount > 0 Then
lsAddr.ListIndex = 0 '删除后选项中一条记录
End If
End If
Else
MsgBox "当前没有选中任何记录", vbInformation, "错误"
End If
End SubPrivate Sub cmdQuery_Click() '按姓名查询
gSet.Close '关闭旧的记录集
lsAddr.Clear '清空列表框

Dim strSql As String
strSql = "select * from 通讯录 where 姓名 like '%" & txtQuery.Text & "%'"
gSet.CursorType = adOpenDynamic
gSet.LockType = adLockOptimistic
gSet.Open strSql, gConn '使用 Open 方法打开数据库中的一个表

'遍历记录集
Dim n As Integer
n = 0
Do Until gSet.EOF
lsAddr.AddItem gSet!姓名, n
gSet.MoveNext
n = n + 1
Loop

'选中一条记录
If gSet.RecordCount > 0 Then
lsAddr.ListIndex = 0
End If
End SubPrivate Sub cmdUpdate_Click() '修改当前记录
'dim strSql as srting
'strSql = "update 通讯录 set 姓名='" & txtName.Text & "',电话='" & txtTel & "',电子邮箱='"
'strSql =strSql & txtEmail & "',地址='" & txtAddr.Text & "' where 编号=" & txtNo.Text
'gConn.Execute (strSql) '使用 Execute 方法执行 SQL 修改语句

'修改当前记录集
gSet!姓名 = txtName.Text
gSet!电话 = txtTel.Text
gSet!电子邮箱 = txtEmail.Text
gSet!地址 = txtAddr.Text

'修改列表框的文字
lsAddr.List(lsAddr.ListIndex) = txtName.Text
End SubPrivate Sub Form_Load()
Dim strConn As String
strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & App.Path & "\addr.mdb"
'注意这里的 App.Path 就是相对的路径的关键

gConn.Open strConn
gConn.CursorLocation = adUseClient

Dim strSql As String
strSql = "select * from 通讯录" 'SQL查询语句
gSet.CursorType = adOpenDynamic
gSet.LockType = adLockBatchOptimistic
gSet.Open strSql, gConn '使用 Open 方法打开数据库中的一个表

'遍历记录集
Dim n As Integer
n = 0
Do Until gSet.EOF
lsAddr.AddItem gSet!姓名, n
gSet.MoveNext
n = n + 1
Loop

'选中一条记录
If gSet.RecordCount > 0 Then
lsAddr.ListIndex = 0
End If
End Sub'程序退出时需要关闭数据库
Private Sub Form_Unload(Cancel As Integer)
gSet.Close '关闭数据库
gConn.Close
End SubPrivate Sub lsAddr_Click()
gSet.MoveFirst '移动到第一条记录
gSet.Move lsAddr.ListIndex '向下移动 n 条记录
txtNo.Text = gSet!编号
txtName.Text = gSet!姓名
txtTel.Text = gSet!电话
txtEmail.Text = gSet!电子邮箱
txtAddr.Text = gSet!地址
End Sub
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式