<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 執行了操作(沒有產生錯誤),但它沒有執行所有語句。
親切的問候
安德斯