ComboBox 怎么选中,最简单的问题,在线等

MonkeyDHua 2006-01-21 09:15:23
Combo4.style=2 '只读属性

combo4.text=rs("Utype") '这样是错的,只读属性,不能选中,怎样选中其中的一项,就是跟数据库记录一样的一项。
...全文
167 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
rainstormmaster 2006-01-21
  • 打赏
  • 举报
回复
注意,上面的程序查找的字串不是完全匹配,修改一下:
Option Explicit
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 Const CB_SELECTSTRING = &H14D
Private Const CB_FINDSTRINGEXACT = &H158
Private Sub Command2_Click()
Dim i As Long
i = SendMessage(Combo1.hwnd, CB_FINDSTRINGEXACT, -1, ByVal rs("Utype"))
If i = -1 Then
Exit Sub
End If
Combo1.ListIndex = i
End Sub
lsir2006 2006-01-21
  • 打赏
  • 举报
回复
1 combo4.Locked =True 替换 Combo4.style=2

2 如果不让客户自己在combo4里输入信息
在 combo4_change() 里 写 combo4.text="" 即可
或者
sub combo4_change()
rs2.open "Select * From tab Where Utype=" & rs("Utype") ,conn,adOpenForwardOnly, adLockReadOnly
if rs2.eof then combo4.text=""
end sub

3 combo4.additem rs("Utype") 方式添加列表记录
rainstormmaster 2006-01-21
  • 打赏
  • 举报
回复
//在combo4里怎么知道值呢?我是读数据库出来里,有多条记录写入到combo4里面,并且不确定数量

那你就查询数据库,获得位置,用个变量标记一下

//怎样选中其中的一项,就是跟数据库记录一样的一项。

发送CB_SELECTSTRING 消息给combobox控件

Option Explicit
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 Const CB_SELECTSTRING = &H14D

Private Sub Command1_Click()
SendMessage Combo1.hwnd, CB_SELECTSTRING, 0, ByVal rs("Utype")
End Sub
MonkeyDHua 2006-01-21
  • 打赏
  • 举报
回复
在combo4里怎么知道值呢?我是读数据库出来里,有多条记录写入到combo4里面,并且不确定数量。
faysky2 2006-01-21
  • 打赏
  • 举报
回复
说错了,是ListIndex
faysky2 2006-01-21
  • 打赏
  • 举报
回复
你要保证Combo里有rs("Utype") 那个值才行,或者如果你知道rs("Utype") 在Combo里的Index,用Combo4.Index=某个数值来显示rs("Utype")
zyl910 2006-01-21
  • 打赏
  • 举报
回复
查找ComboBox中的项目,找到后设置ListIndex

7,785

社区成员

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

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