主题:菜鸟求助:VB6.0如何实现用text框输入达到查询access数据库?
zhengyang
[专家分:0] 发布于 2011-03-16 20:50:00
小弟刚报了VB二级看,也没有看明白,困扰多日,请高手指点:
access 数据库 cs.mdb,里面的表cs1,表的内容:
编码 车辆 标号 大写字母 小写字母
1 汽车 122 QC qc
2 摩托车 111 MTC mtc
3 施工车 211 SGC sgc
想实现:在窗体上text1.text内输入122,点查询命令按钮,text2.text中显示汽车
在窗体上text1.text内输入QC或者qc或者汽车,点查询命令按钮,text2.text中显示122
烦请解答的高手,将详细的操作步骤和代码告知,非常感谢!
菜到不能菜,别笑话!
回复列表 (共6个回复)
沙发
oulihua7531681 [专家分:60] 发布于 2011-03-19 00:21:00
以下为代码
如需要程序文件及最后效果示例,[url=http://www.oulihua1.tk]请单击自行去查看下载[/url]
[em2]
先引用ADO
如果你用ADO控件做,那就更简单,我这个只是通用方法,对所有与数据库相关的查询基本适用
Public conn As New ADODB.Connection '建立新连接
Public rst As New ADODB.Recordset '建立新记录集
Public tmprst As String '用于存储查询语句
Dim constr As String '连接字符串
Private Sub Command1_Click() '查询
On Error GoTo err3 '错误跳转
If Text1.Text <> "" And Text2.Text = "" Then
tmprst = "select * from cs1 where 标号='" & Text1.Text & "'"
ElseIf Text1.Text = "" And Text2.Text <> "" Then
tmprst = "select * from cs1 where 小写字母='" & LCase(Text2.Text) & "'"
ElseIf Text1.Text <> "" And Text2.Text <> "" Then
tmprst = "select * from cs1 where 小写字母='" & LCase(Text2.Text) & "' and 标号='" & Text1.Text & "'"
Else
MsgBox "请输入查询条件", vbOKOnly, "提示"
Exit Sub
End If
Set DataGrid1.DataSource = queryrst(tmprst) '显示数据
If queryrst(tmprst).RecordCount = 0 Then '当记录集为空时,提示
MsgBox "没有查询到你要的数据", vbOKOnly, "提示"
Form1.Height = 2925 '记录集为空时不显示数据表
Else
Form1.Height = 3990 '查询到记录时,显示数据表
End If
Exit Sub
err3:
End Sub
Private Sub Command2_Click()
On Error GoTo err1
Set Form1.DataGrid1.DataSource = queryrst(Text3.Text) '用SQL语句查询数据库
If queryrst(Text3.Text).RecordCount = 0 Then
Form1.Height = 2925
Else
Form1.Height = 3990 '有数据时显示数据表
End If
Exit Sub
err1:
Form1.Height = 2925
MsgBox "输入的SQL查询命令有误" & vbCrLf & "请输入正确的查询命令", vbOKOnly, "错误"
End Sub
Private Sub Form_Load()
constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\CS.mdb;Persist Security Info=False" '数据库连接字符串
End Sub
Function queryrst(sqltxt As String) As ADODB.Recordset
On Error GoTo err2
Set conn = New ADODB.Connection '设置新连接
Set rst = New ADODB.Recordset '设置新记录集
conn.Open constr '打开数据库
rst.CursorLocation = adUseClient '设置记录集为客户端文件打开
rst.Open sqltxt, conn, adOpenDynamic, adLockOptimistic '打开记录集,注意后两个参数,选择错误会导入记录集不能显示在数据表中
Set queryrst = rst '设置函数返回记录集
Set rst = Nothing '释放原记录集
Exit Function
err2:
MsgBox "请查看程序文件夹下是否有CS.MDB" & vbCrLf & "是否有表CS1" & vbCrLf & "本程序仅为测试,数据库为固定的", vbOKOnly, "提示"
End Function
板凳
孙瑞 [专家分:590] 发布于 2011-03-19 03:29:00
楼上正解!
3 楼
莫非白 [专家分:750] 发布于 2011-03-19 10:07:00
菜鸟蛮多,这些问题都不想说了!
4 楼
loktar [专家分:0] 发布于 2011-04-02 11:47:00
谢谢1楼分享。3楼,谁不是从菜鸟开始的啊,肯问肯学才是优秀的。
5 楼
老大徒伤悲 [专家分:29120] 发布于 2011-04-02 13:54:00
1、开始做数据库的问题了,应该可以帮助到很多人。希望你的专家分不在是0
2、既然“谢谢1楼分享。”,为什么不予评分?
有索取不奇怪,多少要给予一点,不要连虚拟的评分都舍不得!
6 楼
孙瑞 [专家分:590] 发布于 2011-04-06 19:49:00
俺一般都给分,嘿嘿
我来回复