当前,我正在为一个进程编写一个循环,该循环记录数据列表并执行某些操作。我想使用case语句来完成此操作。
我的代码有什么问题?我的语法有问题吗?
Data : An_Array := (
1 => (Name => +"Joe", Value => 5531 ),
2 => (Name => +"Adam", Value => 2341),
3 => (Name => +"Bernie", Value => 122),
4 => (Name => +"Walter", Value => 1234),
5 => (Name => +"David", Value => 19),
6 => (Name => +"David", Value => 42),
7 => (Name => +"David", Value => 5));
答案 0 :(得分:1)
关于:
Select Case me!Model
Case Me!Model Like "*Everflo*"
do something
case
中的表达式是针对select
中的对象进行检查的。不幸的是,您的case
中的表达式是一个 boolean 值(有点类似),因此不可能匹配me!Model
中的任何值。您有效拥有的是:
If me!Model = (Me!Model Like "*Everflo*")
do something
select/case
的用例通常采用以下形式:
Select Case me!Model
Case "Everflow"
do something
以便可以将case
对象与select
对象正确匹配。
我认为这种情况下的最佳解决方案(因为您正在执行“看起来像”而不是“等于”比较)只是恢复为一个更简单的条件构造:
If Me!Model Like "*Everflo*"
do something
ElseIf Me!Model Like "*Platinum*"
do something else
End If