PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
15819 01/07/19 14:17:15 RE(2):PB6.5: 行ごとにprotectの・・・ 解決しました。 By taka_taka
15817 01/07/19 13:02:55 RE(1):PB6.5: 行ごとにprotectの設定値を取得するには? By ハム
15798 01/07/17 10:51:00 PB6.5: 行ごとにprotectの設定値を取得するには? By taka_taka

カテゴリ:スクリプトの記述
日付:2001年07月19日 13:02 発信者:ハム
題名:RE(1):PB6.5: 行ごとにprotectの設定値を取得するには?

taka_takaさん、こんにちは。

次のコードを参考にしてスクリプトを記述してみて下さい。

String  ls_Property, ls_Expr, ls_row, ls_describe

//カラムのプロパティ値を取り出します(cust_idカラムのprotectプロパティ)
ls_Property = dw_1.Describe(\"cust_id.protect\")
// 戻り値にタブセパレータがあるかチェックします。もしタブセパレータが
// あれば計算式が入っていることになります。
IF Pos(ls_Property,\'~t\') > 0 THEN   then
// タブセパレータ以降の計算式を切り出します
ls_Expr = Mid(ls_Property, Pos(ls_Property,\'~t\') + 1)
ls_Expr = Left(ls_Expr, Len(ls_Expr) - 1)
// 現行行に対してEvaluate関数を使用して再度Describe関数を発行します。
// これによりカラムに設定されたプロパティ式を実行して現在の値を取り出せます。
ls_row = String(DW_1.GetRow()) // 評価したい現行行を取得
// Describe関数の引数を構築します
ls_describe = \"Evaluate(\'\" + ls_Expr +\"\',\" + ls_row +\")\"  
ls_Property = dw_1.Describe(ls_describe)
MessageBox(\"cust_id.protect の値 評価する行 \" + ls_row , ls_Property )
ELSE
// カラムは計算式をもっていない為、単純な値を返します
MessageBox(\"cust_id.protect の値 \" , ls_Property )
END IF


>あるカラムに対して条件つきでprotect設定を変えています。
>その行ごとに設定された値を、describe関数で取得することは
>可能でしょうか?
>初歩的な質問ですが、わかる方、ご教授おねがいします。



付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS Sybase Open Client/C 11
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Sybase SQL Server System 11
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.