PB 利用timer()函数实现定时将数据窗口以excel文档保存至指定地方

今天客户突然提出要在系统里面实现数据窗口定时转档成excle文件并保存至指定地方,方便使用。花了一个小时时间终于给实现了。下面讲讲实现步骤吧,能力有限,互相交流。

1.首先在系统主窗口中,找到timer事件,写下如下代码:(因系统而异)
string ls_time
long ll_return,ll_row
string ls_file
dec ll_yes
string ls_path
string ls_sql,ls_q
string ls_artic,ls_group,ls_item_order,ls_season,ls_type_no,ls_item_ss,ls_denote_user,ls_pdtype_no,ls_zhiban_type,ls_shoud_time,ls_pdt_order
ls_time =string(now(),’HH:MM:SS’)
if ls_time=’09:01:00’ or ls_time=’17:01:00’ then //指定时间点
// ls_sql = ‘truncate table1’
// execute immediate :ls_sql;//每到时间点清空该表数据
if gs_user_name=’系统管理’ then
select max(quarter)
into :ls_season
from b_colorm;

    Datastore ls_dstastore1  //声明Datastore变量
    ls_dstastore1 = CREATE datastore  //将Datastore实例化
    ls_dstastore1.dataobject = "d_sampleroom_biao_finish_all" //为已经存在的数据窗口对象
    ls_dstastore1.settransobject(sqlca)  //指定连接实例
    ll_row= ls_dstastore1.retrieve('%','%','%',ls_season,'%','%','%','%','Z','%','%')
  //   messagebox('ll_row',ll_row)

    select data
    into :ls_path  //转档路径
    from b_variable
    where item_no = '01';

    ls_file =ls_path+"样品进度查询1.XLS"  

    IF ll_row > 0 THEN
        ls_dstastore1.SAVEASFORMATTEDTEXT (LS_FILE)  
    END IF

    destroy ls_dstastore1   //释放datastore
end if   

end if

2.打开主窗口open事件,写下如下代码:

timer(10) //每十秒执行一次timer事件
3.ok!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值