<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好,
我正在尝试创建一个 if 语句来检查特定的(表名称已知)是否存在。 如果该表存在,则应将其附加到日志中。 我的代码如下:
//将表分配给变量。
数据表( “贝尔” ) <<子集(无形的, (选定的行) ,输出表名称( “输出” ) ) ;
NC1 =数据表( ”输出” ) ;
......
//检查表是否存在
如果(尝试(数据表( ”输出” ) ,表存在= 0 ) ,
NC1 <<杂志
,
杰恩<<附加(文本框( “Alla neg.prover har ett värde under 0.2” )) ;
) ;
我还尝试过以下操作:
如果(尝试( NC1,表存在= 0 ) ,
NC1 <<杂志
,
杰恩<<附加(文本框( “Alla neg.prover har ett värde under 0.2” )) ;
) ;
结果:
即使该表存在(运行脚本时没有发生错误),该表也不会被附加。
如果该表不存在,则会附加文本框。
为什么这不起作用?
亲切的问候
安德斯
IF 语句需要一个计算结果为 true 或 false 的条件。您依靠 TRY 函数来执行此操作,这不是它的主要任务,但如果计算,它将返回表达式的值。但是 DATA TABLE("Output") 给出了对数据表的引用,它没有给出正确/错误的答案。特别是它没有给出正确的答案,因此 IF 表达式永远不会被计算。
我为此使用了一个函数。加载该函数后,只需像这样调用它:
如果(表存在( “输出” ) ,
// 追加到日志
,
// 不追加
) ;
这是函数:
/*
函数名称:表存在
说明:如果表存在则返回1,如果不存在则返回0
论据:
table_name 检查是否存在的表
*/
表存在=功能( {表名} ,
{默认本地} ,
tbl_exists_flag = 0 ;
// 遍历所有表,看看是否存在这个表
表数=不可表() ;
为了(我= 1 ,我<=表数,我++,
一个名字=数据表(我) <<获取姓名;
如果(一个名字==表名,
tbl_exists_flag = 1 ;
休息() ; // 既然我们找到了表就跳出循环
) ;
) ;
tbl_exists_flag ;
) ; // 结束table_exists函数
就像魅力一样,谢谢你的帮助。
请问为什么我把If和try合并起来就不行了? 在我看来,JMP 执行了操作(没有生成错误),但它没有执行所有语句。
亲切的问候
安德斯