那片叶子 发表于 2012-10-21 20:28:07

按字母查询,列出相关数据


如图,绿色区域 ,列我在acc中有aaaaaa/aassss/ssaass/bbssbb/aabbss几个英文数组!
我在搜索中搜a或aa,直接列出数组中有包含a或aa的数组,然后列出相关数组aaaaaa/aassss/ssaass/aabbss供选择!
不知道怎么实现,上面图只是PS而已!
望高人帮忙下!

netegg 发表于 2012-10-21 20:42:17

回复 1# 那片叶子
论坛里好像有例子,好好搜搜看

nmgwddj 发表于 2012-10-21 21:01:39

回复 1# 那片叶子


    SQL语句就可以实现,select * from 表名 where 列名 like 'aa%'


%为sql语句通配符

小凯 发表于 2012-10-22 11:56:20

我觉得3楼写不完全!! 如果数量过多的话``那combo列表会拉的很长...
select top 5 * from 表名 where 列名 like 'aa%'   order by 编号

drunk 发表于 2012-10-22 21:21:48

我觉得3楼写的不对,四楼思路有误.那我那个名字确实有很多,那不5个后的就操作不了了吗.下拉框拉很长又怎样,总比不全好把."select * from 表名 where 列名 like '%查询%' order by 排序列"

那片叶子 发表于 2012-10-23 11:24:18

能不能麻烦楼上几位帮忙下载下附件写下?

chzj589 发表于 2012-10-23 12:50:45

是这样子:

Func xun()
        If Not GUICtrlRead($Input5) = '' Then
                $read10 = GUICtrlRead($Input5)
                GUICtrlSendMsg($ListView1, $LVM_DELETEALLITEMS, 0, 0)
                $addfld = ObjCreate("ADODB.Connection")
                $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $mdb_data_path & ";Jet Oledb:Database Password=" & $mdb_data_pwd)
                $RS = ObjCreate("ADODB.Recordset")
                $RS.ActiveConnection = $addfld
                $RS.open("SELECT * FROM " & $tblname & " WHERE name='" & $read10 & "' OR ssex='" & $read10 & "'")
                While Not $RS.eof And Not $RS.bof
                        If @error = 1 Then ExitLoop
                        GUICtrlCreateListViewItem($RS.Fields(0).value & "|" & $RS.Fields(1).value & "|" & $RS.Fields(2).value & "|" & $RS.Fields(3).value, $ListView1)
                        $RS.movenext
                WEnd
                $RS.close
                $addfld = ObjCreate("ADODB.Connection")
                $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $mdb_data_path & ";Jet Oledb:Database Password=" & $mdb_data_pwd)
                $RS = ObjCreate("ADODB.Recordset")
                $RS.ActiveConnection = $addfld
                $RS.Open("SELECT name FROM " & $tblname)
                While Not $RS.eof And Not $RS.bof
                        If @error = 1 Then ExitLoop                       
                        GUICtrlSetData($Input5, $RS.Fields(0).value & "")
                        $RS.movenext
                WEnd
                $RS.close
                $addfld.Close
        Else
                MsgBox(48, '出错啦', '你需要输入一个关键字')
        EndIf
EndFunc   ;==>xun

那片叶子 发表于 2012-10-23 18:11:17

是这样子:

Func xun()
        If Not GUICtrlRead($Input5) = '' Then
                $read10 = GUICtrlRead($Input5)
...
chzj589 发表于 2012-10-23 12:50 http://www.autoitx.com/images/common/back.gif

我怎么输什么字母或数字,查到的都是那几个数据啊!
我的意思是比如 查询aa   ,然后那几个数据中有aa的列出来供选择!

chzj589 发表于 2012-10-23 19:47:44

在$ListView1显示还是在$Input5显示?

MicroBlue 发表于 2012-10-23 20:45:43

"select top 5 * from 表名 where 列名 like '%查询%' order by 排序列"

chzj589 发表于 2012-10-24 10:26:06

$Input5 = GUICtrlCreateCombo("", 95, 420, 121, 21)

;GUICtrlSetData(-1, "aaaaaa|aassss|ssaass|aabbss", "aa")???????

chzj589 发表于 2012-10-24 10:30:23

$Input5 = GUICtrlCreateCombo("", 95, 420, 121, 21)

;GUICtrlSetData(-1, "aaaaaa|aassss|ssaass|aabbss", "aa")???????

那片叶子 发表于 2012-10-24 10:54:08

;GUICtrlSetData(-1, "aaaaaa|aassss|ssaass|aabbss", "aa")???????
这个我是演示结果的! 忘记删掉了

chzj589 发表于 2012-10-24 11:37:02

删掉后就能全部显示在 $Input5 = GUICtrlCreateCombo("", 95, 420, 121, 21)

那片叶子 发表于 2012-10-24 15:57:43

我查AA的时候,连bbssbb都显示上面去了
页: [1] 2
查看完整版本: 按字母查询,列出相关数据