PB 電子会議室
| 発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) | 
|---|---|---|
| 14029 | 00/12/04 22:45:01 | RE(5):PB6.5: 1レコード複数カラムの検索方法:2 By Lucky | 
| 13987 | 00/11/27 21:20:41 | RE(4):PB6.5: 1レコード複数カラムの検索方法:2 By ryochan | 
| 13986 | 00/11/27 21:20:03 | RE(3):PB6.5: 1レコード複数カラムの検索方法:1 By ryochan | 
| 13983 | 00/11/27 10:06:19 | RE(2):PB6.5: 1レコード複数カラムの検索方法 By t.y | 
| 13980 | 00/11/25 17:04:47 | RE(1):PB6.5: 1レコード複数カラムの検索方法 By M.M | 
| 13978 | 00/11/25 14:30:04 | PB6.5: 1レコード複数カラムの検索方法 By Lucky | 
カテゴリ:PowerBuilderの開発環境
日付:2000年11月25日 17:04 発信者:M.M
題名:RE(1):PB6.5: 1レコード複数カラムの検索方法
  Luckyさん、こんにちは。
同じく休日出勤のM.Mです。(午後出社ですけど...)
>as_Keyword   ←検索対象文字
>   :
>String  ls_ColumnS[] 
>dw_target.Event uf_get_ColumnS( ls_ColumnS)   // 全カラム名を取得する。 
>For ll_i = dw_target.Getrow() to dw_target.RowCount() 
>  For ll_j = 1 to UpperBound( ls_columns ] ) 
>   if dw_target.inv_base.of_getitem( ll_i , ls_Columns[ ll_j ] ) = as_keyword Then 
>    Messagebox(\"Find\" , \"該当文字が見つかりました。\")
>    Return 1 
>   end if 
>  Next 
>Next 
>return 0 
>と、こんな、感じで作ったんですが、かなり【遅い】です!
ループの中では、できるだけ命令や関数を省いた方がいいですよ。
こんな感じで記述するとどうでしょうか。(未実験君)
????????????????????????????????????????
string as_Keyword, ls_ColumnS[]
long rowMax, colMax, currentRow, ll_i
dw_target.Event uf_get_ColumnS( ls_ColumnS ) // 全カラム名を取得する。
rowMax = dw_target.RowCount()
currentRow= dw_target.Getrow()
For ll_i = currentRow to rowMax
colMax = UpperBound( ls_columnS[] )
For ll_j = 1 to colMax
if dw_target.inv_base.of_getitem( ll_i , ls_Columns[ ll_j ] ) = as_keyword Then
Messagebox(\"Find\" , \"該当文字が見つかりました。\")
Return 1
end if
Next
Next
????????????????????????????????????????
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows98
DBMS Oracle SQL*Net 8
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.




