既存のデータテーブルをチェックする if ステートメント<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」 )) ;
) ;
結果:
テーブルが存在しても (スクリプトの実行中にエラーは発生しません)、テーブルは追加されません。
テーブルが存在しない場合は、テキスト ボックスが追加されます。
なぜこれが機能しないのでしょうか?
敬具
アンダース
Re: 既存のデータテーブルをチェックする If ステートメントIF ステートメントには、true または false に評価される条件が必要です。これを行うには TRY 関数を使用しますが、これは主なタスクではありませんが、評価された場合は式の値を返します。ただし、DATA TABLE("Output") はデータ テーブルへの参照を提供しますが、真/偽の答えは得られません。特に、答えが true にならないため、IF 式は決して評価されません。
Re: 既存のデータテーブルをチェックする If ステートメントこれには関数を使用します。関数をロードしたら、次のように呼び出すだけです。
もし(テーブル_存在( "出力" ) 、
// ジャーナルに追加
、
// 追加しないでください
) ;
関数は次のとおりです。
/*
関数名:テーブルの存在
説明: テーブルが存在する場合は 1 を返し、存在しない場合は 0 を返します。
引数:
table_name の存在を確認するテーブル
*/
テーブルの存在=関数( {テーブル名} 、
{デフォルトのローカル} 、
tbl_exists_flag = 0 ;
// すべてのテーブルをループして、このテーブルが存在するかどうかを確認します
テーブル数=テーブル() ;
のために(私= 1 、私<=テーブル数、私++、
一名=データ表(私) <<名前の取得;
もし(一名==テーブル名、
tbl_exists_flag = 1 ;
壊す() ; // テーブルが見つかったのでループから抜け出します
) ;
) ;
tbl_exists_flag ;
) ; // table_exists 関数を終了します
Re: 既存のデータテーブルをチェックする If ステートメント魔法のように機能します。ご協力ありがとうございます。
If と try を組み合わせたステートメントを作成するとなぜ機能しないのかお聞きしてもよろしいでしょうか? JMP は操作を実行しますが (エラーは生成されません)、ステートメントのすべてを実行しなかったように思えます。
敬具
アンダース
Re: 既存のデータテーブルをチェックする If ステートメントこれは次のような場合に役立ちます。
// テーブルが存在するかどうかを確認します
試す(
データ表( "出力" ) ;
テーブル存在する= 1
、
テーブル存在する= 0
) ;
もし(テーブル存在する、
見せる( 「存在する」 )
、
見せる( 「存在しない」 )
) ;