我有一个combox框,它的下拉框中的数据来自一个很大的员工表,如果只让它选择很麻烦,我想在输入一个数据的同时,它的下拉框中的数据能跟着变,例如:我输入"张"时,combox下拉框中只显示姓张的员工,请各位大侠帮帮忙
解决方案 »
- 如何将字符串形式的公式算出来,高手请进吧
- 请教高手关于vb+sql的问题!
- ado执行存储过程的问题
- 导出CSV时,+号如何解决,用文本打开正常,用Excel打开出问题,加了单引号后,双击才生效
- 如何判断树中的node是否被选中?
- 请问webbrowser inet and winscok 哪个快点好点!
- 怎样在datagrid的表格单元中放置下拉组合框控件?
- 急需支持真彩色的图标编辑器!!!
- 关于下面 "会的进来,给100分!"的条件!!!
- 我怎么能够把图片框中的图片数据转成长二进制放到sql数据库中啊
- 《在线等》如何实现把数据库中某一条记录的值(所有字段,包含二进制字段)付给同一表内的新加记录呢?
- 要有多表头,能够录入数据,针对某列录入的数据可以检查,按回车光标向右走,这样情况下用哪个控件好?
dim rs as adodb.recordset
...
combox1.clear
rs.open "select * from employeetable where employeename like '" & combox1.text & "'"
do while not rs.eof
combox.additem rs.fields(x).value
rs.next
loop
rs.close
set rs=nothing
...
end sub
rs.open "select * from employeetable where employeename like '" & combox1.text & "%'"
张二 ZE
张一 ZY
李四 LS
王五 WW
如何在combobox中动态显示跟输入的code相近的name,并且输入的时候下拉框自动展开
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Sub Combo1_Change()combox1.Clear
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.RecordsetDim iStart As Integer
Dim sString As String
Static iLeftOff As Integer'cnn.Open ........ ' add your connectionstring
rst.Open "select DISTINCT [NAME] from employee where [NAME] like '" & Trim(combo1.Text) & "'%", cnn, 3, 3
Do While Not rst.EOF
combox1.AddItem rst.fields(0).Value
rst.MoveNext
Loop
rst.Close
Set rst = Nothing
Set cnn = Nothing
iStart = 1
iStart = combo1.SelStart
If iLeftOff <> 0 Then combo1.SelStart = iLeftOff: iStart = iLeftOffsString = CStr(Left(combo1.Text, iStart))
combo1.ListIndex = SendMessage(combo1.hwnd, &H14C, -1, ByVal CStr(Left(combo1.Text, iStart)))
If combo1.ListIndex = -1 Then iLeftOff = Len(sString): combo1.Text = sString
If combo1.Text <> "" Then SendMessage combo1.hwnd, &H14F, True, 0combo1.SelStart = iStart
combo1.SelLength = 0
iLeftOff = 0End Sub
2.并未检测出对应的符合条件的记录
最简单的方法是将combobox绑定到一个记录集的员工姓名字段上。
blnInFind=false
sub Combo1_change()
if blnInFind=true then exit sub
blnInFind=true
rs.filter=""
rs.filter="员工姓名 like '%" combobox.text & "' "
'刷新combo,这个很久没有用你试试
combo1.refresh
blnInfind=false
end sub