0

我是 PowerBuilder 10.5 的新手,我正在尝试创建成本应用程序,当我从 DDDW 中选择输入图像描述材料时,我想自动完成该行,我想自动填写价格和单位。有 2 个表 1Material - Unit - Price 2- Itemname DDDW - Quantity - Unit - Price 我在 MSaccess 上做了,但我不知道如何在 PowerBuilder 上对其进行编码

Private Sub ItemName_AfterUpdate()
Unit = ItemName. Column(2)
Price = ItemName. Column(3)
End Sub

我如何在 PowerBuilder 中做到这一点

4

2 回答 2

1

如果您已将数量和价格包含在作为您用于 DDDW 的数据窗口对象的一部分中检索到的数据中,则无需其他数据库调用即可访问它。像这样的东西(在 itemchanged 事件中):

datawindowchild dwc
string ls_name
long ll_row

IF Upper(dwo.Name) = "ITEM" THEN
    GetChild("item", dwc)
    ls_name = data
    dwc.SetFilter("name = '" + ls_name +"'" )
    dwc.Filter( ) // filter to specific row in dddw
    ll_row = dwc.RowCount( ) // How many? Use the last one.
    if ll_row > 0 then
        SetItem(row, "cost", GetItemDecimal('cost', ll_row))
        SetItem(row, "amount", GetItemDecimal('amount', ll_row))
    end if
end if
于 2017-10-23T17:50:59.943 回答
1

ÌtemChanged您的详细数据窗口的情况下编写以下代码(当然代码必须适应您的具体情况):

decimal ld_qty, ld_unitprice

if Upper(dwo.name) <> 'ITEM' then
     return
end if
select qty, unit_price into :ld_qty, :ld_unitprice from your_table where your_table.key = data;

dw2.SetItem(row, 'your_dw_col_qty', ld_qty)
dw2.SetItem(row, 'your_dw_unit_price', ld_unitprice)
于 2017-10-23T14:04:18.500 回答