Filter + VB控件或方法

lvanjie 2005-11-30 08:57:43
1.请问在 Filter 筛选条件中"不包含"应怎么表示?

2.请问在VB里采用什么控件或方法才能做如在Access中设置数据类型时单击一下单元格会出现下拉选择筐?

3.请问在VB里采用什么控件或方法才能做到:没有获取焦点的时候没有下拉选择筐,当一获取焦点输入文字时就会自动出现下拉选择筐,且可以根据输入的文字自动搜索相同的出现在最前面?
...全文
212 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvanjie 2005-12-01
  • 打赏
  • 举报
回复
请问大侠:
1.在Recordset对象中,属性Filter 筛选条件可以是查询语句WHERE 关键字之后的子句,那么在此筛选条件中"不包含"应怎么表示(VB中在此不能用NOT LIKE 呢!)?
2.请帮忙举举一个msflexgrid+combox的例子.
3.我试了(3. A SAMPLE )怎么在输入的时候看不到鼠标?若我想只要高亮度显示在最前面而不自动填充,当没有相同的时候下拉筐里是空白的又该怎么班呢?
谢谢了!
northwolves 2005-11-30
  • 打赏
  • 举报
回复
3. A SAMPLE:


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()
Dim iStart As Integer
Dim sString As String
Static iLeftOff As Integer

iStart = 1
iStart = Combo1.SelStart

If iLeftOff <> 0 Then Combo1.SelStart = iLeftOff: iStart = iLeftOff

sString = 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, 0

Combo1.SelStart = iStart
Combo1.SelLength = 0
iLeftOff = 0

End Sub
Private Sub Form_Load()
Dim i As Long
For i = 1 To 500
Randomize
Combo1.AddItem Chr(Int(Rnd * 26) + 97) & Chr(Int(Rnd * 26) + 97) & Chr(Int(Rnd * 26) + 97) & Chr(Int(Rnd * 26) + 97) & Chr(Int(Rnd * 26) + 97)
Next
Combo1.Text = ""
End Sub

northwolves 2005-11-30
  • 打赏
  • 举报
回复
2. msflexgrid+combox
3. sendmessage API + combox(sort=true)
northwolves 2005-11-30
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim x() As String, y() As String
x = Split("aab,aac,bbd,bbc,ccd", ",")
y = Filter(x, "d", False)
MsgBox Join(y, vbCrLf)

'y = Filter(x, "d", True)
'MsgBox Join(y, vbCrLf)
End Sub

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧