Office中国论坛/Access中国论坛

标题: 调用过程时,exit语句出错如何解决? [打印本页]

作者: xryacc2    时间: 2010-4-11 21:29
标题: 调用过程时,exit语句出错如何解决?
在调用过程时(尤其是宏调用),该过程中有多个条件判断式,当变量不满足条件时退出却出错。比如:
(假设BL为某一变量,以下只是例子)
Function abc
  select case BL
           case 0
           exit function
           case 101
           exit function
   end select
end function
........'(这里接着还有其他代码)

'当在宏或其他过程中调用上面这个过程时,发觉出错在exit function
'如果在exit function前加一名代码:exit_abc:,如下:
Function abc
  select case BL
           case 0
exit_abc:
           exit function
           case 101
exit_abc:
           exit function
   end select
end function
........'(这里接着还有其他代码)
则提示重复声明,如果只有一个exit_abc:和一个exit function就没问题,请问在调用过程中,如果被调用过程有多个不满足条件就退出这样功能的情况下,如何解决这种问题?谢谢!
作者: iamee    时间: 2010-4-12 19:22
else case
作者: xryacc2    时间: 2010-4-13 15:35
case else吧。就是不想有else啊,怕层次太多,而且逻辑关系搞得太复杂,尤其在 if 语句中。
作者: todaynew    时间: 2010-4-13 19:46
Function abc()
  select case BL
           case 0
                 .......
                 exit function
           case 101
                 ......
                 exit function
   end select
end function

和以下函数是等价的:
Function abc
  select case BL
           case 0
                 .......
           case 101
                 ......
   end select
end function
作者: xryacc2    时间: 2010-4-14 15:55
谢谢各位。
其实我的例子不恰当,todaynew说的对,一般情况下要写的代码各个case 后的变量都是唯一满足的,也就是说如果变量满足了case 1,一般不会再满足case 2。但是我的问题是在过程调用时,exit语句会出错的问题.....
暂且不说select case了,就说下面这样的过程,如何不满足任意一个条件下就退出过程,且这个过程是可以被调用,尤其是宏调用。
Function abc
    if 变量1<>变量2 then     '条件语句(1)
       exit function
    end if
   if 变量3<>变量4 then   '条件语句(2)
      exit function
   end if
   if dir("......")="" then           '条件语句(3)
      exit function
   end if
   ......其他很多代码            '这里还要有很多满足主要功能的代码
  .......
end function
这样的函数或过程被调用时,尤其是做成宏被调用时,会在exit function处出错。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3