问题描述
我试图在 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 不行, 也不行...一定有一个简单的函数吧?
感谢您的帮助, 弗洛
解决方法
使用Like:If Not someControl Like "*[*]*" Then
请注意,not
在 VBA 中的表达式之前,而在 SQL 中,您可以使用 not like
。
关于您的评论,我怀疑问题出在 Forms![Saisie commande panier]![SF_Panier]![SF_Détail_panier]![Designation]
。您可能在某处错过了 Form
。请参阅 this one 或 this one。
大概是这样的Forms![Saisie commande panier]![SF_Panier].Form![SF_Détail_panier].Form![Designation]
顺便说一句,如果您的代码在主窗体中,您可以编写它Me![SF_Panier].Form![SF_Détail_panier].Form![Designation]