Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

如何实现窗体组合框 允许多值添加数据

朱大喜  发表于:2012-08-28 13:36:55  
复制

点击下载此附件

 

我想实现:

在窗体的组合框下拉菜单里可以选择多值。

请高手指点,并说明具体步骤!!在此先拜谢了!!

 

Top
叶海峰 发表于:2012-08-28 18:55:55
将组合框改成文本框,然后在文本框下面加一个列表框,列表框设为可以多选的.每当文本框获得焦点,列表框才显示,否则隐藏.文本框输入值,列表框的数据源将文本框输入值作为条件同步刷新

lyxiong 发表于:2012-08-29 07:40:12

先设好组合框行来源,然后在组合框更新后事件写代码:


Dim I As Integer, strList As String
    With 组合框名称
        For I = 1 To .ListCount
            strList = IIf(Nz(strList) = "", "", strList & ";") & .ItemData(I)
        Next
        If Nz(.Text) <> "" Then
            If InStr(1, .Tag, .Text) = 0 And InStr(1, strList, .Text) > 0 Then
                .Value = IIf(Nz(.Tag) = "", "", .Tag & "、") & .Text
            End If
            .Tag = .Text
        Else
            .Tag = ""
        End If
    End With



lyxiong 发表于:2012-08-29 07:46:20
Private Sub 乡名_AfterUpdate()
Dim I As Integer, strList As String
    With 乡名
        For I = 1 To .ListCount
            strList = IIf(Nz(strList) = "", "", strList & ";") & .ItemData(I)
        Next
        If Nz(.Text) <> "" Then
            If InStr(1, .Tag, .Text) = 0 And InStr(1, strList, .Text) > 0 Then
                .Value = IIf(Nz(.Tag) = "", "", .Tag & "、") & .Text
            End If
            .Tag = .Text
        Else
            .Tag = ""
        End If
    End With
End Sub

lyxiong 发表于:2012-08-29 07:53:41
朱大喜 发表于:2012-08-29 09:26:40

感谢各位的回复!!

我自己也找到一个解决方法:将组合框的行来源设为字段.value就可以了



总记录:5篇  页次:1/1 9 1 :