当前位置: 代码迷 >> PB >> PB数据窗口怎么自动检索
  详细解决方案

PB数据窗口怎么自动检索

热度:165   发布时间:2016-04-29 10:26:25.0
PB数据窗口如何自动检索
PB中的Grid类型数据窗口,
字段有:ID(自增列),ITEM_NO,item_tm,HM,MC,SL,jj,ze

我新增一行的时候,想输入item_tm列的数据时,tiem_no,HM,mc,jj,自动从数据库的其他表中调入进去,并实现ze=sl*jj
或输入item_no,自动匹配其他数据?

------解决方案--------------------
在dw的itemchanged事件中写:
C/C++ code
string item_no, item_tm, mc, hmdec sl, jjsl = getitemdecimal(getrow(), 'sl')choose case dwo.name    case 'item_tm'        select item_no, hm, mc, jj into :item_no, :hm, :mc, :jj from tb where item_tm = :data;        if sqlca.sqlcode = -1 then             messagebox('', '出错!')             return -1         end if        setitem(getrow(), 'item_no', item_no)        setitem(getrow(), 'hm', hm)        setitem(getrow(), 'mc', mc)        setitem(getrow(), 'jj', jj)        setitem(getrow(), 'ze', sl * jj)    case 'item_no'        select item_tm, hm, mc, jj into :item_tm, :hm, :mc, :jj from tb where item_no = :data;        if sqlca.sqlcode = -1 then             messagebox('', '出错!')             return -1         end if        setitem(getrow(), 'item_tm', item_tm)        setitem(getrow(), 'hm', hm)        setitem(getrow(), 'mc', mc)        setitem(getrow(), 'jj', jj)        setitem(getrow(), 'ze', sl * jj)    case elseend choose
  相关解决方案