Office中国论坛/Access中国论坛
标题:
怎样编写组合框行来源为值列表呢?
[打印本页]
作者:
简
时间:
2008-7-13 22:56
标题:
怎样编写组合框行来源为值列表呢?
比如说,列表框行来源是值列表,其值有AA,BB,CC,DD
我希望其值能够添加或者修改,但我又不想做成表,同时我又希望能做成函数,在所有窗体中都能使用。
要达到这个功能,又该怎么做呢。
作者:
tz-chf
时间:
2008-7-13 23:08
要添加修改,总得存在什么地方吧,不做成表还能放在哪里?
作者:
红尘如烟
时间:
2008-7-13 23:45
'=========================================================================================
'-函数名称: SetComboList
'-功能描述: 设置组合框列表项的值
'-输入参数: 参数1:Combo----要设置的组合框
' 参数2:Form----组合框所在窗体
'-返回参数: 无
'-调用示例: 在窗体的Open,Load事件,组合框的Enter事件中调用;SetComboList Combo2,Me
'-相关调用: ComboNotInList
'-使用注意: 需要和ComboNotInList函数配合使用
'-兼 容 性: 支持AddItem方法的版本,且只适用于行来源为值列表的组合框
'-作 者: 红尘如烟
'-创建日期: 2008年7月13日
'========================================================================================
Function SetComboList(Combo As ComboBox, Form As Form)
On Error GoTo Err_ComboNotInList
Combo.RowSource = CurrentProject.AllForms(Form.Name).Properties(Combo.Name & "List")
Exit_ComboNotInList:
Exit Function
Err_ComboNotInList:
If Err = 2455 Then
CurrentProject.AllForms(Form.Name).Properties.Add Combo.Name & "List", Combo.RowSource
Else
If Err <> 0 Then MsgBox Err
End If
Resume Exit_ComboNotInList
End Function
'=========================================================================================
'-函数名称: ComboNotInList
'-功能描述: 组合框中输入值不在列表中时自动添加
'-输入参数: 参数1:Combo----组合框
' 参数2:Form----组合框所在窗体
' 参数3:NewData----组合框中输入的不在列表中的值
' 参数4:Response----对不在列表中事件的处理方式
'-返回参数: 无
'-调用示例: 在组合框的NotInList事件中调用:ComboNotInList Combo2, Me, NewData, Response
'-相关调用: SetComboList
'-使用注意: 需要和SetComboList函数配合使用
'-兼 容 性: 支持AddItem方法的版本,且只适用于行来源为值列表的组合框
'-作 者: 红尘如烟
'-创建日期: 2008年7月13日
'========================================================================================
Function ComboNotInList(Combo As ComboBox, Form As Form, NewData As String, Response As Integer)
On Error GoTo Err_ComboNotInList
If MsgBox("输入的值不在列表中,是否添加?", vbQuestion + vbYesNo) = vbYes Then
Response = acDataErrAdded
Combo.AddItem NewData
CurrentProject.AllForms(Form.Name).Properties(Combo.Name & "List") = Combo.RowSource
Else
Response = acDataErrContinue
Combo.Undo
End If
Exit_ComboNotInList:
Exit Function
Err_ComboNotInList:
If Err = 2455 Then
CurrentProject.AllForms(Form.Name).Properties.Add Combo.Name & "List", Combo.RowSource
Else
If Err <> 0 Then MsgBox Err
End If
Resume Exit_ComboNotInList
End Function
复制代码
[
本帖最后由 红尘如烟 于 2008-7-13 23:49 编辑
]
作者:
wang1950317
时间:
2008-7-15 08:49
收藏!谢谢红尘如烟老师!
作者:
apsfxc1
时间:
2008-9-6 08:22
[:33]
作者:
XWQ2000
时间:
2008-9-6 16:41
[:50]
作者:
cslrhyl
时间:
2009-1-5 00:41
学习学习
作者:
tcltyy
时间:
2009-10-14 12:04
很厉害啊!
作者:
tz2806
时间:
2009-10-14 15:27
标题:
服装批发商教你如何进货
服装批发商教你如何进货
http://www.360huoyuan.com/article-31.html
作者:
yzt2005
时间:
2010-5-5 07:33
很厉害啊!
作者:
michael100
时间:
2010-5-5 13:51
收藏了
作者:
xie62
时间:
2010-5-14 13:38
学习了
作者:
lovehere
时间:
2010-5-19 15:20
学习了,收藏
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3