VB查询access数据库

界面上是一个datagrid控件,一个查询command,一个combo1(其中list为时间、地点、天气、牌号、类型五个),还有一个text文本。datagrid里本来... 界面上是一个datagrid 控件,一个查询command,一个combo1(其中list为时间、地点、天气、牌号、类型五个),还有一个text文本。
datagrid 里本来连接数据库显示是全数据库的数据,我想选中下拉框的相应查询条件,在文本框中输入查询内容,点击查询按钮后
datagrid 控件里的内容变为满足查询条件的内容。
但查询这条代码实在是怎么写都错!求高手指点!!!
展开
 我来答
百度网友b021f97
2013-05-30
知道答主
回答量:7
采纳率:0%
帮助的人:8.2万
展开全部
DataGrid控件是不能实现你要求的功能的,但是你可以改用MSFlexGrid控件。代码有些复杂,我不知道你之前有些什么代码。写这几个代码给你,希望对你有帮助,我假定combo1在选择之前的文本是“请选择条件”,数据库表的名称我假定是 你的数据库名称 字段名称也用你自己的。 这个代码的意思就是,当有一个两个查找条件没有给定的时候应该怎么设置查找条件。
Private Sub command1_Click()
If Not text1.Text = "" Then
If Not combo1.Text = "请选择条件" Then
SQLtxt = "select * from 你的数据库名 where 文本框对应字段 = '" & text1.Text & "' AND 五选项对应字段 = '" & comobo1.Text & "' "
Else
SQLtxt = "select * from 你的数据库名 where 文本框对应字段 = '" & text1.Text & "' "
End If
Else
If Not combo1.Text = "请选择条件" Then
SQLtxt = "select * from 你的数据库名 where 五选项对应字段名 = '" & combo1.Text & "' "
Else
SQLtxt = "select * from 你的数据库名"
End If
End If
Call ShowData(SQLtxt)
End Sub
用一个循环语句可以将查出来的全部显示出来,但是我不知道你数据库里有些什么。给你一个我写的代码,参考这写你自己的吧
Public FangWen As ADODB.Connection '定义连接对象FangWen
Public rsFangWen As ADODB.Recordset '定义记录集对象rsFangWen
Public cmmFangWen As ADODB.Command '定义命令对象cmmFangWen
Public Sub shuju() '此过程实现连接数据库和打开记录集
Set FangWen = New ADODB.Connection '设置连接对象实例
FangWen.CursorLocation = adUseClient '设置游标类型
FangWen.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\管理信息.mdb;Jet OLEDB:Database Password=txgf" '与数据库连接
Set rsFangWen = New ADODB.Recordset
Set rsFangWen.ActiveConnection = FangWen '设置记录集对象实例
Set cmmFangWen = New ADODB.Command
Set cmmFangWen.ActiveConnection = FangWen '设置命令对象实例
End Sub

Private Sub ShowData(SQL As String)
Call shuju '调用模块,打开数据库
rsFangWen.Open SQL, FangWen, adOpenStatic, adLockOptimistic '打开记录集,其内容为表 "你的表"
With MSFlexGrid1
.ColWidth(0) = 1000
.ColWidth(1) = 1000
.ColWidth(2) = 2000
.ColWidth(3) = 1200 's设置表格格式
.TextMatrix(0, 0) = "学号"
.TextMatrix(0, 1) = "姓名"
.TextMatrix(0, 2) = "学院"
.TextMatrix(0, 3) = "班级" '表格第一行显示内容
.Rows = 1
Do While Not rsFangWen.EOF '利用循环,学号,姓名,学院,班级显示在表里
.Rows = .Rows + 1
.TextMatrix(.Rows - 1, 0) = rsFangWen.Fields(0) & ""
.TextMatrix(.Rows - 1, 1) = rsFangWen.Fields(1) & ""
.TextMatrix(.Rows - 1, 2) = rsFangWen.Fields(10) & ""
.TextMatrix(.Rows - 1, 3) = rsFangWen.Fields(11) & ""
rsFangWen.MoveNext
Loop
End With
rsFangWen.Close '关闭记录集
FangWen.Close '断开数据库连接
End Sub

而且我还不知道你用的是什么数据库,我用的是access
xtp63437731
2013-05-26 · 超过20用户采纳过TA的回答
知道答主
回答量:104
采纳率:100%
帮助的人:35.9万
展开全部
贴代码上来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tonkeys
2013-05-27 · TA获得超过1513个赞
知道大有可为答主
回答量:2087
采纳率:33%
帮助的人:2446万
展开全部
数据库有没有创建 好,创建好了就发出来,可以写一下代码。
追问

数据库已建好,如图


VB查询窗口如图:

偶是新手加菜鸟,拜托代码详细一点哈,叩谢

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式