PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
2445 98/07/23 14:00:58 RE:RE:PB6: データウィンドウ By Otsuki
2444 98/07/23 13:59:58 RE:RE:PB6: データウィンドウ By Otsuki
2442 98/07/23 12:17:08 RE:PB6: データウィンドウ By ふくちゃん
2440 98/07/23 11:36:56 PB6: データウィンドウ By Otsuki

カテゴリ:旧電子会議室
日付:1998年07月23日 12:17 発信者:ふくちゃん
題名:RE:PB6: データウィンドウ

はじめまして。
以下の様にできますよ。(力技ですが...)まだまだ不備な点はありますが、前に一回同じコメント
をして更新特性の設定の個所でご指摘を頂いて
なおしてません。そのコメントを探したのですが見つからなかったのでそのまま書きます。
ちなみにdw_2は SYS.\"USER_TAB_COLUMNS\"を使用しています。
dw_3を作成しています。

//SQL文を作成(ls_fromはテーブル名称)
ls_sql = \"Select * From \" + ls_from
//dw_3のSQL分を置き換える
presentation_str = \"style(type=grid)\"//グリッド形式に設定
dwsyntax_str = SQLCA.SyntaxFromSQL(ls_sql,  &
presentation_str, ERRORS)

IF Lenb(ERRORS) > 0 THEN
MessageBox(\"Caution\",  &
\"SyntaxFromSQL caused these errors: \" + ERRORS)
Close(w_4)
RETURN
END IF
dw_3.SetTransObject(SQLCA)
dw_3.Create( dwsyntax_str, ERRORS)

IF Len(ERRORS) > 0 THEN
MessageBox(\"Caution\",  &
\"Create cause these errors: \" + ERRORS)
Close(w_4)
RETURN
END IF
//???????????????????????????????データ変換処理
dw_3.SetTransObject(SQLCA)
ll_rcnt = dw_3.Retrieve()
//該当テーブルをアップデート可能にする
dw_3.Modify(\"DataWindow.Table.UpdateTable = \'\"+ ls_from +\"\'\")
dw_2.SetFilter(\"\")
dw_2.Filter()
ll_kcnt = dw_2.Retrieve(ls_from)
//該当テーブルの全カラムをアップデート可能にする
For ll_cn = 1 To ll_kcnt
ls_cname = dw_2.GetItemString(ll_cn,\"column_name\")
dw_3.Modify(ls_cname + \".Update = Yes\")
Next
//該当テーブルのnullableの項目にアップデートキーを設定する
dw_2.SetFilter( \"nullable = \'N\' \")
dw_2.Filter()
ll_kcnt2 = dw_2.RowCount()
For ll_k = 1 To ll_kcnt2
ls_k = dw_2.GetItemString(ll_k,\"column_name\")
dw_3.Modify(ls_k + \".KEY = YES\")
Next

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS Oracle SQL*Net 8
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)

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