[英]Access: Filtering form on field - fails when fields contains an apostrophe
提示:本站为国内最大中英文翻译问答网站,提供中英文对照查看,鼠标放在中文字句上可显示英文原文。
我有一个连续形式的过滤器,它使用组合框来匹配 select 条记录; 代码是:
Private Sub SelectHospitalCbo_AfterUpdate()
Me.Filter = "[ContactHospital] = " & "'" & Me.SelectHospitalCbo & "'"
Me.FilterOn = True
End Sub
这工作正常,直到我发现如果 ContactHospital 字段包含撇号(例如儿童医院),我会收到一条错误消息:
运行时错误“3075”:查询表达式“[ContactHospital] = 'Children's Hospital”中存在语法错误(缺少运算符)。
我明白为什么会发生错误,但我找不到解决方法。 最近在这个论坛上的一个问题似乎和我有类似的问题,但是没有答案。 这是否意味着我无法绕过它?
如果有人想建议从医院名称中删除所有撇号,我会考虑,但不幸的是,该数据库与(更大的)数据库交互,其中医院名称无法更改且必须匹配,所以这不是我的选择。
来自更多经验的任何帮助 Access 开发人员表示赞赏!
选项:
按数字医院 ID 而不是其名称过滤
"[ContactHospital] = '" & Replace(Me.SelectHospitalCbo, "'", "''") & "'"
"[ContactHospital] = """ & Me.SelectHospitalCbo & """"
"[ContactHospital] = " & Chr(34) & Me.SelectHospitalCbo & Chr(34)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.