Office中国论坛/Access中国论坛

标题: 怎样编写组合框行来源为值列表呢? [打印本页]

作者: 简    时间: 2008-7-13 22:56
标题: 怎样编写组合框行来源为值列表呢?
比如说,列表框行来源是值列表,其值有AA,BB,CC,DD
我希望其值能够添加或者修改,但我又不想做成表,同时我又希望能做成函数,在所有窗体中都能使用。

要达到这个功能,又该怎么做呢。
作者: tz-chf    时间: 2008-7-13 23:08
要添加修改,总得存在什么地方吧,不做成表还能放在哪里?
作者: 红尘如烟    时间: 2008-7-13 23:45

  1. '=========================================================================================
  2. '-函数名称:        SetComboList
  3. '-功能描述:        设置组合框列表项的值
  4. '-输入参数:        参数1:Combo----要设置的组合框
  5. '                   参数2:Form----组合框所在窗体
  6. '-返回参数:        无
  7. '-调用示例:        在窗体的Open,Load事件,组合框的Enter事件中调用;SetComboList Combo2,Me
  8. '-相关调用:        ComboNotInList
  9. '-使用注意:        需要和ComboNotInList函数配合使用
  10. '-兼 容 性:        支持AddItem方法的版本,且只适用于行来源为值列表的组合框
  11. '-作    者:        红尘如烟
  12. '-创建日期:        2008年7月13日
  13. '========================================================================================
  14. Function SetComboList(Combo As ComboBox, Form As Form)
  15. On Error GoTo Err_ComboNotInList
  16.     Combo.RowSource = CurrentProject.AllForms(Form.Name).Properties(Combo.Name & "List")
  17. Exit_ComboNotInList:
  18.     Exit Function
  19.    
  20. Err_ComboNotInList:
  21.     If Err = 2455 Then
  22.         CurrentProject.AllForms(Form.Name).Properties.Add Combo.Name & "List", Combo.RowSource
  23.     Else
  24.         If Err <> 0 Then MsgBox Err
  25.     End If
  26.     Resume Exit_ComboNotInList
  27. End Function
  28. '=========================================================================================
  29. '-函数名称:        ComboNotInList
  30. '-功能描述:        组合框中输入值不在列表中时自动添加
  31. '-输入参数:        参数1:Combo----组合框
  32. '                   参数2:Form----组合框所在窗体
  33. '                   参数3:NewData----组合框中输入的不在列表中的值
  34. '                   参数4:Response----对不在列表中事件的处理方式
  35. '-返回参数:        无
  36. '-调用示例:        在组合框的NotInList事件中调用:ComboNotInList Combo2, Me, NewData, Response
  37. '-相关调用:        SetComboList
  38. '-使用注意:        需要和SetComboList函数配合使用
  39. '-兼 容 性:        支持AddItem方法的版本,且只适用于行来源为值列表的组合框
  40. '-作    者:        红尘如烟
  41. '-创建日期:        2008年7月13日
  42. '========================================================================================
  43. Function ComboNotInList(Combo As ComboBox, Form As Form, NewData As String, Response As Integer)
  44. On Error GoTo Err_ComboNotInList
  45.     If MsgBox("输入的值不在列表中,是否添加?", vbQuestion + vbYesNo) = vbYes Then
  46.         Response = acDataErrAdded
  47.         Combo.AddItem NewData
  48.         CurrentProject.AllForms(Form.Name).Properties(Combo.Name & "List") = Combo.RowSource
  49.     Else
  50.         Response = acDataErrContinue
  51.         Combo.Undo
  52.     End If
  53.    
  54. Exit_ComboNotInList:
  55.     Exit Function
  56.    
  57. Err_ComboNotInList:
  58.     If Err = 2455 Then
  59.         CurrentProject.AllForms(Form.Name).Properties.Add Combo.Name & "List", Combo.RowSource
  60.     Else
  61.         If Err <> 0 Then MsgBox Err
  62.     End If
  63.     Resume Exit_ComboNotInList
  64. 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