PB中setsqlselect、dw_1.modify()和dw_1.object.DataWindow.Table.Select

通过setsqlselect、dw_1.modify(DataWindow.Table.Select=" ")和dw_1.object.DataWindow.Table.Select=" "均可对数据窗口的查询语句进行动态修改,但有一些区别

1、setsqlselect用法:

ls_select=getsqlselect    //通过getsqlselect取得当前数据窗口的查询语句select……from……,但得不到where子句

ls_where="  "          //给变量ls_where赋值,将所要添加的限定条件赋给此变量,但应考虑到select子句与where子句之前的空格

dw_1.setsqlselect(ls_select+ls_where)     //通过setsqlselect将生成的查询语句更新至数据窗口

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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值