【问题标题】:VBA Access If statement doesn't contain a certain characterVBA Access If 语句不包含某个字符
【发布时间】:2021-09-03 06:40:41
【问题描述】:

我正在尝试在 Access 中编写一个 If 语句,该语句会根据另一个值不包含字符“*”这一事实来更改表单值的值。

到目前为止,我有这个:

If Forms![Saisie commande panier]![Qualité].Value = "CA" _
Or Forms![Saisie commande panier]![Qualité].Value = "Salarié" _
And Not Forms![Saisie commande panier]![SF_Panier]![SF_Détail_panier]![Designation].contains "*" Then
Forms![Saisie commande panier]![SF_Panier]![SF_Détail_panier]![Remise] = "30"

这当然是行不通的。 你有什么解决办法吗?

知道此表单是电子表格。 NOT LIKE 不行, 也不行……一定有一个简单的函数吧?

感谢您的帮助, 弗洛尔

【问题讨论】:

  • 搜索文本值的是InStr
  • ` If Forms![Saisie commande panier]![Qualité].Value = "CA" _ Or Forms![Saisie commande panier]![Qualité].Value = "Salarié" _ And InStr( Forms![Saisie commande panier]![SF_Panier]![SF_Détail_panier]![Designation], "") = False Then Forms![Saisie commande panier]![SF_Panier]![SF_Détail_panier]![Remise] = " 30" End If ` 表示类型不兼容。还尝试了 ` AND Not InStr(Forms![Saisie commande panier]![SF_Panier]![SF_Détail_panier]![Designation], "") Then `

标签: vba ms-access if-statement ms-access-2010


【解决方案1】:

使用Like:If Not someControl Like "*[*]*" Then
请注意,not 在 VBA 中的表达式之前,而在 SQL 中您可以使用 not like

关于您的评论,我怀疑问题出在Forms![Saisie commande panier]![SF_Panier]![SF_Détail_panier]![Designation]。您可能在某处错过了Form。请参阅this onethis one
可能类似于
Forms![Saisie commande panier]![SF_Panier].Form![SF_Détail_panier].Form![Designation]
顺便说一句,如果你的代码是主窗体,你可以写它
Me![SF_Panier].Form![SF_Détail_panier].Form![Designation]

【讨论】:

  • If Forms![Saisie commande panier]![Qualité].Value = "CA" _ Or Forms![Saisie commande panier]![Qualité].Value = "Salarié" _ And Not Forms![Saisie commande panier]![SF_Panier]![SF_Détail_panier]![Designation] Like "*[*]*" Then Forms![Saisie commande panier]![SF_Panier]![SF_Détail_panier]![Remise] = "30" End If 表示类型不兼容:(
  • 错误可能在其他地方,例如Remise = 30(无引号)
  • 不,它停在前一行,就在“而不是形式!......像......”
  • @FlorenceS 查看更新后的答案。您的代码是 [Saisie commande panier] 形式吗?
  • 如果您使用即时窗口,您可以分别评估 IF 语句的每个组件,以准确找出导致问题的部分。 stackoverflow.com/questions/794255/… 例如?Not Forms![Saisie commande panier]![SF_Panier]![SF_Détail_panier]![Designation] Like "*[*]*"
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-27
  • 1970-01-01
  • 2013-06-20
  • 1970-01-01
相关资源
最近更新 更多