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

2024-11-09 06:15:20
推荐回答(1个)
回答(1):

一、根据你的描述,应该是在 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