一 应用情况:
一个MsflexGrid,其表格结构大体如下:
|--------------------------------|
| 行号 | 列一 | 列二 | 列三 |
|------|--------|-------|--------|
| 1 | 树林木 | 列二 | 列三 |
|------|--------|-------|--------|
| 2 | 树森木 | 列二 | 列三 |
|------|--------|-------|--------|
| 3 | 森树木 | 列二 | 列三 |
|------|--------|-------|--------|
| 4 | 林木 | 列二 | 列三 |
|------|--------|-------|--------|
| 5 | 树林森 | 列二 | 列三 |
|------|--------|-------|--------|
| 6 | 木林 | 列二 | 列三 |
|______|________|_______|________|
二 要实现的效果
对某一列或几列进行模糊搜索,搜索可以使用通配符.比如定义*表示0或多个字符,%表示一个字符(类
似SQL中的Like操作符,呵).
对上表,如果搜索条件为"列一 Like '*林木'",则我们可以搜出下表记录:
|--------------------------------|
| 行号 | 列一 | 列二 | 列三 |
|------|--------|-------|--------|
| 1 | 树林木 | 列二 | 列三 |
|------|--------|-------|--------|
| 4 | 林木 | 列二 | 列三 |
|------|--------|-------|--------|
| 6 | 木林 | 列二 | 列三 |
|_____|________|_______|_________|
再比如搜索条件为 "列一 Like '*木'",可以搜出以下记录
|--------------------------------|
| 行号 | 列一 | 列二 | 列三 |
|------|--------|-------|--------|
| 1 | 树林木 | 列二 | 列三 |
|------|--------|-------|--------|
| 2 | 树森木 | 列二 | 列三 |
|------|--------|-------|--------|
| 3 | 森树木 | 列二 | 列三 |
|------|--------|-------|--------|
| 4 | 林木 | 列二 | 列三 |
|______|________|_______|________|
在条件的设置方面,可以是一个条件,也可以是多个条件,条件间可以是 AND 的关系,也可以是 OR 的
关系.这样的算法如何实现?有谁有现成的算法么??
谢谢了。呵
一个MsflexGrid,其表格结构大体如下:
|--------------------------------|
| 行号 | 列一 | 列二 | 列三 |
|------|--------|-------|--------|
| 1 | 树林木 | 列二 | 列三 |
|------|--------|-------|--------|
| 2 | 树森木 | 列二 | 列三 |
|------|--------|-------|--------|
| 3 | 森树木 | 列二 | 列三 |
|------|--------|-------|--------|
| 4 | 林木 | 列二 | 列三 |
|------|--------|-------|--------|
| 5 | 树林森 | 列二 | 列三 |
|------|--------|-------|--------|
| 6 | 木林 | 列二 | 列三 |
|______|________|_______|________|
二 要实现的效果
对某一列或几列进行模糊搜索,搜索可以使用通配符.比如定义*表示0或多个字符,%表示一个字符(类
似SQL中的Like操作符,呵).
对上表,如果搜索条件为"列一 Like '*林木'",则我们可以搜出下表记录:
|--------------------------------|
| 行号 | 列一 | 列二 | 列三 |
|------|--------|-------|--------|
| 1 | 树林木 | 列二 | 列三 |
|------|--------|-------|--------|
| 4 | 林木 | 列二 | 列三 |
|------|--------|-------|--------|
| 6 | 木林 | 列二 | 列三 |
|_____|________|_______|_________|
再比如搜索条件为 "列一 Like '*木'",可以搜出以下记录
|--------------------------------|
| 行号 | 列一 | 列二 | 列三 |
|------|--------|-------|--------|
| 1 | 树林木 | 列二 | 列三 |
|------|--------|-------|--------|
| 2 | 树森木 | 列二 | 列三 |
|------|--------|-------|--------|
| 3 | 森树木 | 列二 | 列三 |
|------|--------|-------|--------|
| 4 | 林木 | 列二 | 列三 |
|______|________|_______|________|
在条件的设置方面,可以是一个条件,也可以是多个条件,条件间可以是 AND 的关系,也可以是 OR 的
关系.这样的算法如何实现?有谁有现成的算法么??
谢谢了。呵
解决方案 »
- EXcel用VBA把行列排序问题
- 〓紧急求助〓 WebBrowser控件 如何判断网页是否完全打开....解决后马上给分....十分感谢
- 使用API怎样实现切换到输入法的全角输入?
- 存储过程中的一个难题
- 这个东西真么作?
- 如何制作可透视的picturebox
- 高手请指教,如何从网站提取数据,并定时刷新。谢谢!
- (100分)怎样将ACCESS中的数据插入到EXCEL中??(EXCEL为不规则表)
- 100分求解蓝屏问题(分数在windows2000下面的帖子里)----操作系统是 Windows2000,我的计算机在关闭/重启时有蓝屏,只有手动按下Power/Reset键才能关闭/重启。蓝屏显示:
- 再不回答我就好自杀拉~~~~~~
- 用VB做个插件把word转换为execl??
- 关于排课系统
不如先导出成EXCEL或MDB什么,待查过后再显示,导出操作可在后台操作,该不会那么慢吧
另外试试VSFLEXGRID8.0控件,都说很强,但不知能不能实现你的要求
2设置SQL表达式,将查询结果返回到新的MsflexGrid中
3删除临时表
这些数据不是存在数据库中的,而是用户实际编辑的数据.
语法分析倒不需要,只是能实现以上效果就可以了。举例用的是一个语句,只是为了举例方便.呵
=========================================当然可使用记录集
因为记录集可以直接创建在内存中
Dim Rs As New ADODB.Recordset
Dim II As LongRs.CursorLocation = adUseClient
Rs.Fields.Append "Col1", adVarChar, 20
Rs.Fields.Append "Col2", adVarChar, 20
Rs.Fields.Append "Col3", adVarChar, 20
Rs.Fields.Append "Col4", adVarChar, 20
Rs.Open "me"
'把表格中的数据搬到数据集,再借助 .Find 即可查找,速度超快For II = 1 To 1000
'插入1000行
Rs.AddNew
Rs(0).Value = "a" & II & 1
Rs(1).Value = "b" & II & 2
Rs(2).Value = "c" & II & 3
Rs(3).Value = "d" & II & 4
Rs.Update
NextRs.MoveFirstRs.Find "Col1='a11'"
If Rs.EOF = False Then
MsgBox Rs(0)
End IfRs.Close
具体请看这
http://blog.csdn.net/zlt982001/archive/2005/07/04/413534.aspx
这两天我登不上CSDN,今天一看,你回复这么多.
真是感谢。呵
Find 方法我用过,呵,一是不能实现模糊搜索,二是只能实现记录定位的功能。呵
当然了,非常感谢你.你的最后一个贴,让我受益匪钱.呵再次感谢。