PB 獲取或操作數據窗口語句的方法


1、setsqlselect用法:

ls_select=getsqlselect    //通過getsqlselect取得當前數據窗口的查詢語句

ls_where="  "          //給變量ls_where賦值,將所要添加的限定條件賦給此變量,但應考慮到select子句與where子句之前的空格

dw_1.setsqlselect(ls_select+ls_where)     //通過setsqlselect將生成的查詢語句更新至數據窗口

dw_1.event ue_retrieve()

2、dw_1.modify用法:

Old_Select=dw_1.Describe("DataWindow.Table.SQLSelect ")

ls_select=getsqlselect

ls_where="  "

dw_1.modify("DataWindow.Table.Select='" + ls_select+ls_where + " ' ")

dw_1.settransobject(SQLCA)

dw_1.retrieve()

dw_1.object.DataWindow.Table.Select=Old_Select

更新完后可用以下語句取出select語句查看並調試

messagebox("",string(dw_1.Describe("DataWindow.Table.SQLSelect ")))

網上有貼子說此語句只能更改DW查詢語句中的where子句,暫未證實

3、dw_1.object.DataWindow.Table.Select=" " 用法:

此種用法與dw_1.modify()基本相同,只是使用dw_1.modify()時,在()中需要使用雙引號把其中的DataWindow.Table.Select以及其后的變量引起來,需要考慮引號的對應關系問題,而此種用法則相對簡單一些

Old_Select=dw_1.Describe("DataWindow.Table.SQLSelect ")

ls_select=" select …… from ……"

ls_where=" ……"

ls_having=" …… "

ls_groupby=" …… "

dw_1.object.DataWindow.Table.Select=ls_select+ls_where+ls_having+ls_groupby

dw_1.settransobject(SQLCA)

dw_1.retrieve()

dw_1.object.DataWindow.Table.Select=Old_Select

感覺此語句最為強大,用起來也順手,我喜歡

注意:在動態修改sql語句時,select段可以修改,但應確保select后面跟隨的字段個數以及類型應與建立數據窗口時選擇的字段個數和類型相同,否則報錯

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM