关于VB 对ACCESS数据库的操作

asussmart 2012-12-09 02:30:36
想通过一个命令按钮删除access数据库中指定的一个字段,如果存在删除,不存在提示
求高手帮忙写下代码,
以下代码运行时提示出错
If Not IsNumeric(Text1.Text) Or Val(Text1.Text) = 0 Then
'编号字段是Access 的自动编号,为自然数
'因此对text4 的内容进行校验,如果不是数值或为0 则跳出sub 过程
MsgBox "编号是大于0 的自然数,请输入正确的编号!"
Exit Sub
End If
Dim sc As Integer
sc = MsgBox("确实要删除这个记录吗?", vbOKCancel, "删除确认!")
If sc = 1 Then
'运行时如果用户点击的是MsgBox 提示框的“确定”按钮,返回值是1
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim Str1 As String
Dim Str2 As String
Dim Str3 As String
Str1 = "Provider=Microsoft.Jet.OLEDB.4.0;"
Str2 = "Data Source=./stgl.mdb;"
Str3 = "Jet OLEDB:Database Password="
conn.Open Str1 & Str2 & Str3
strSQL = "select * from gl where 身份证号=" & Text1.Text & ""
rs.Open strSQL, conn, 3, 3
If rs!身份证号 = Text1.Text Then
'由于系统数据库使用的是自动编号作为主键
'因此以编号字段的内容作为判断的依据
'如果rs!编号 = Val(Text4.Text)说明数据库中有此记录并进行删除操作
'否则给“不存在此记录”的提示信息并关闭数据连接
rs.Delete
rs.Close
conn.Close
MsgBox ("删除记录成功!")
Adodc1.Refresh '刷新数据源,MSHFlexGrid 控件会实时刷新显示数据
Else
MsgBox ("不存在此记录!")
Text1.Text = ""
rs.Close
conn.Close
Exit Sub
End If
End If
Text1.Text = ""
提示如下图


另外如何把数据库里面的字段打印出来


...全文
216 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
熊孩子开学喽 2013-01-22
  • 打赏
  • 举报
回复
strSQL = "select * from gl where 身份证号=" & Text1.Text & "" 改为: strSQL = "select * from gl where 身份证号='" & Text1.Text & "'"
bcrun 2012-12-10
  • 打赏
  • 举报
回复
初学VB就要做系统,勇气可嘉,注意一开始别把功能搞太复杂了,要在自己可掌控的范围内。
asussmart 2012-12-10
  • 打赏
  • 举报
回复
谢谢Leftie版主和各位的解答,问题成功解决!VB没学过,最近老师让做一个小系统,没办法.谢谢各位了
bcrun 2012-12-10
  • 打赏
  • 举报
回复
text1.text的值最好再做下处理,免得里面多出个单引号什么的
of123 2012-12-10
  • 打赏
  • 举报
回复
不是删除字段吧?是删除记录? 楼上正解。
饮水需思源 2012-12-09
  • 打赏
  • 举报
回复
strSQL=" select * from gl where 身份证号='"& text1.text &"'" 身份证号为字符型,在SQL语句中引用变量时要加单引号
worldy 2012-12-09
  • 打赏
  • 举报
回复
在过程的开头加人: dim strSQL as string 作为这个良好的VB编程习惯,在每个模块的第一行使用 option explicit

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧