Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access开发平台

Access快速开发平台--MultiSelectFor函数产生重复值的解决办法

时 间:2019-12-29 08:01:25
作 者:丘苏洲   ID:66601  城市:普宁
摘 要:Access快速开发平台--MultiSelectFor函数产生重复值的解决办法。
正 文:

Access快速开发平台2.5.1版新增的MultiSelectFor函数为指定文本控件添加多选值很实用。但在特定的情景下比如多选值是句子。句子里有","/";"等常用标点符号和函数本身的分列字符相同就会出现重复选项情况。
例:
请假,家里有事。
病假,感冒了。

strSQL = "Select DISTINCT NOTE from tblLeave"
MultiSelectFor Me.NOTE, strSQL
选项卡里会出现:
请假
家里有事
病假

感冒了


解决办法是用不常用分列字符如:"__"
然后在文本控件的更新事件里打自定义的分列符替换成空格 " "
选项卡里会出现:
请假,家里有事。
病假,感冒了。


事例代码:
Private Sub NOTE_AfterUpdate()
If Not IsNull(Me.NOTE) Then
Me.NOTE = Replace(Me.NOTE, "__", " ")
End If
End Sub

Private Sub NOTEMulti_Click()
    Dim strSQL As String
    strSQL = "Select DISTINCT NOTE from tblLeave"
    MultiSelectFor Me.NOTE, strSQL, "__"
End Sub

提示:
access 升迁到SQL SERVER 备注类型变成 ntext类型。
SQL SERVER ntext类型不支持 DISTINCT。
把 access备注类型改成合适长度的文本类型即可。


Access快速开发平台QQ群 (群号:321554481)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助