vba - 用于检查字符串是否具有“[”、“]”字符的 VBA 访问代码
问题描述
在我的程序的主要部分,我有这个代码:
If Me!Proveedor = "BIMBO" Then
Me!NombreProducto = Left(BuscaNombre("BIMBO", Mid(Me!Producto, InStr(1, Me!Producto, "[") + 1, (InStr(1, Me!Producto, "]")) - (InStr(1, Me!Producto, "[")) - 1)), 50)
然而,当 Me!Proveedor 的值没有 '[ ]' 时,代码会失败。到目前为止,我尝试过的是这段代码:
Me!NombreProducto = iif(InStr(1, Me!Producto, "["), Left(BuscaNombre("BIMBO", Mid(Me!Producto, InStr(1, Me!Producto, "[") + 1, (InStr(1, Me!Producto, "]")) - (InStr(1, Me!Producto, "[")) - 1)), 50), Left(BuscaNombre("BIMBO", Me!Producto.text), 50)
但是,如果失败。知道为什么吗?
解决方案
IIF
如果您退回的东西对其中一种情况无效,请勿使用!或者更好的是,根本不要IIF
在 VBA 中使用。只需使用普通的If语句。
IIF
无论条件是否为真,都会评估条件、真部分和假部分。如果在您的情况下条件为假,则True部分无效。
If InStr(1, Me!Producto, "[") Then
Me!NombreProducto = Left(BuscaNombre("BIMBO", Mid(Me!Producto, InStr(1, Me!Producto, "[") + 1, (InStr(1, Me!Producto, "]")) - (InStr(1, Me!Producto, "[")) - 1)), 50)
Else
Me!NombreProducto = Left(BuscaNombre("BIMBO", Me!Producto.text), 50)
End If
推荐阅读
- python - 熊猫意味着邻居零?
- android - Firebase 存储上传任务继续永远不会触发
- python - 如何创建由二进制类分隔的数据列表的小提琴图?
- apache - 来自多个数据库表的 Solr 数据导入处理程序
- css - 使用 nth-last-child(odd) 和 (even) 将 css 添加到图像
- sql - SSIS:Excel源检测类型
- c# - WPF - 关于使用树视图样式菜单结构的建议
- apache-flink - 基于 Date 类型的字段过滤 Flink Table
- python - 熊猫在许多列上
- android - 如何检查自定义 DialogFragment 是否显示?