vb中data数据控件find方法的运用,请vb高手指点

如图所示我用msflexgrid来显示数据库的内容现在我想实现的功能是,内部赋值或通过inputbox函数外部输入一个值(和故障代码相同的值即1-14)通过这些代码在数据... 如图所示

我用msflexgrid 来显示数据库的内容 现在我想实现的功能是,内部赋值或通过inputbox函数外部输入一个值(和故障代码相同的值即1-14)通过这些代码在数据库里查找到与之对应得才显示到msflexgrid上,我用dada控件来连接的 请问应该怎么做呀 我用find方法没做出来 求高手举个例子 必好评
展开
 我来答
满以柳J7
2013-10-01 · TA获得超过539个赞
知道小有建树答主
回答量:545
采纳率:66%
帮助的人:551万
展开全部
一、根据你的描述,应该是在 MSFlexGrid中只显示满足条件的数据记录,如果这样的话,就把与MSFlexGrid连接的数据源改变就可以了,把每次查询的条件用SQL语句给数据控件.
如:与MSFlexGrid连接的数据控件名称是 dataGrid,你在设计时MSFlexGrid1.DataSource=dataGrid
在程序运行加载时先不要显示任何数据...
在 Form_Load()中改变dataGrid的RecordSource
dataGrid.RecordSource="SELECT * FROM 数据表 WHERE 字段名(故障代码)='FALSE'"
dataGrid.Refresh
这样的话,程序运行完成后在MSFlexGrid中不显示任何内容.
如果要显示查询结果的话,就再次用 SQL语句设置dataGrid的RecordSource 属性,如:故障代码为1-14
.......
dataGrid.RecordSource="SELECT * FROM 数据表 WHERE 字段名(故障代码)='1-14'"
dataGrid.Refresh

这样只要有满足条件的结果,MSFlexGrid就显示正确的内容了.

二、就是根据查询的条件在MSFlexGrid中定位要需要的显示的内容
首先系统运行的时候就把数据全部加载显示,然后在根据你的查询条件在MSFlexGrid中定位要显示的内容.
根据你现在MSFlexGrid显示的内容看,“故障代码”在MSFlexGrid中的第一列,所以用MSFlexGrid的TextArrary(cellindex)属性,就能定位到你需要查询的结果,第一列的cellindex变化值为3,6,9...
dim i as integer
dim rows as integer

rows=MSFlexGrid.Rows*3
for i=3 to rows step 3
if MSFlexGrid.TextArray(i)="1-14" then
MSFlexGrid.Row=int(i/3)
endif
next i
追问
不行啊 提示有错误 用的是data控件和msflexgrid控件 没有用datagrid控件的
追答
你要跟踪一下程序,看是具体那句程序有问题才好修改!
如果从数据源 data控件上获取查询数据的话,与显示的Grid控件没什么关系.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式