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 (記載なし)
Copyright © 2013 Power Future Co., Ltd.




