设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 27362|回复: 95
打印 上一主题 下一主题

[窗体] 用代码动态设置窗体组合框或列表框的默认值

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2010-12-30 01:20:20 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 鱼儿游游 于 2010-12-31 06:33 编辑

[原创]用代码动态设置窗体组合框或列表框的默认值。
       当表单一出來,表单里有一个组合框,其选择数据是多列的。如有两列,我们要设定一个初始值,combox 的值是 id 对应 text 的話。这时,如果我们只是单一利用 setValues 或 直接赋值的方法来设定的话,会出现 combox 內的值要么是 id,要么是 text,不能同时得到 ID 和对应的 text。本人编了一个小函数,combox 內的值能根据用户指定组合框中的数据的列号和指定值自动设置默认值,同时得到 ID 和对应的 text。
'===========================================================================
' 函数名称:SetBoxListIndex
' 功能描述:设置窗体组合框或列表框的默认值
'
' 输入参数:ctl --------------------- 组合框或列表框控件
'                  intColumnNumber -- 被比较值所在列。注意:列号从0开始。
'                  varValue -------------- 比较值
'
' 返回参数:设置成功/失败 -- True/False
'
' 示    例: If SetBoxListIndex(Me.cboUserID, 1, "张三") Then
'                    MsgBox "成功设置组合框cboUserID的默认值为:张三"
'                 End If
'
' 作    者: 鱼儿游游  QQ:7178000
'
' 创建日期: 2010年12月29日
'===========================================================================
Public Function SetBoxListIndex(ctl As Control, ByVal intColumnNumber As Integer, ByVal varValue As Variant) As Boolean
Dim lngListIndex As Long
Dim i As Long
      lngListIndex = -1
      For i = 0 To ctl.ListCount - 1
       If ctl.Column(intColumnNumber, i) = varValue Then
           lngListIndex = i
           Exit For
       End If
   Next
   If lngListIndex > -1 Then
       ctl.SetFocus
       ctl.ListIndex = lngListIndex
   End If
   SetBoxListIndex = Not (lngListIndex = -1)
End Function

游客,如果您要查看本帖隐藏内容请回复






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
 楼主| 发表于 2011-2-12 13:46:50 | 显示全部楼层
你是金牌会员呀,我要向你学习。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-12 23:32 , Processed in 0.124836 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表