PowerBuilder Datawindow如何開發多尺寸商品出貨資料維護?

billliao58 2012-02-15 04:40:48
請教各位先進:
如何用PowerBuilder Datawindow開發多尺寸商品出貨資料維護?
例如:
商品基本資料:型號、尺寸、定價
12345 M 1000
12345 L 1000
12345 XL 1000

出貨資料:型號、尺寸、數量
12345 M 1
12345 L 2
12345 XL 3

如何在出貨時,輸入型號後,自動帶入尺寸,讓我填數量,格式如下:
型號 M L XL 定價
12345 1 2 3 1000

請教了,謝謝!
...全文
151 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
billliao58 2012-03-12
  • 打赏
  • 举报
回复
lss580711@yahoo.com.tw
感謝!
fang5447 2012-02-23
  • 打赏
  • 举报
回复
使用兩個不同DW 一個針對使用者 一個為自行存取
使用者介面 型號、尺寸1、尺寸2、尺寸3、尺寸4、數量
存取介面 型號、尺寸、數量
具體作法如果還有問題...留Mail 再提供範例給您..
EuropeSun_An 2012-02-22
  • 打赏
  • 举报
回复
貨品基本資料表
貨品代碼 貨品名稱


貨品規格表
貨品代碼 貨品規格

出貨資料表
單號 貨品代碼 貨品規格

輸入貨品代碼,從貨品規格表抓取貨品對應的規格<使用datastore>,寫入數據窗口.填寫數量.

ribut9225 2012-02-17
  • 打赏
  • 举报
回复
还有一个办法,使用SQL语句,网上有相关资料的,SQL语句横列转换,生成数据窗口,这样就方便多了
ribut9225 2012-02-17
  • 打赏
  • 举报
回复
看了一下,尺寸应该只有M,L,XL,最多没会超过5个吧

那么,就假设尺寸为M,L,XL,XXL,XXXL吧,一般情况下,按你的表格理解,同型号的商品价格应该一致,没有区分尺寸

做一个外部数据窗口
字段有:型号、M,L,XL,XXL,XXXL,定价,一共七个字段。

当前用在型号字段中输入商品型号号


在dw的ItemChange事件中

string ls_ColName
string ls_xh //型号
string ls_cc //尺寸
decimal lc_dj //定价
long ll_sl //数量

ls_ColName = this.GetColumnName()
if ls_ColName="型号" then
if this.AcceptText()<0 then
return
end if

ls_xh = trim(this.GetItemString(row,"型号"))
if ls_xh = "" or IsNull(ls_xh) then
return
end if

DECLARE emp_js CURSOR FOR
SELECT 尺寸,定价,sum(数量)
FROM 商品表
WHERE 商品=:ls_xh
GROUP BY 尺寸,定价
;
OPEN emp_js;
FETCH emp_js INTO :ls_cc,:lc_dj,:ll_sl;
do while SQLCA.SQLCode=0
ls_cc = trim(ls_cc)
if ls_cc="M" then
dw_1.SetItem(row,"M",ll_sl)
end if
if ls_cc="L" then
dw_1.SetItem(row,"L",ll_sl)
end if
if ls_cc="XL" then
dw_1.SetItem(row,"XL",ll_sl)
end if
if ls_cc="XXL" then
dw_1.SetItem(row,"XXL",ll_sl)
end if
if ls_cc="XXXL" then
dw_1.SetItem(row,"XXXL",ll_sl)
end if
FETCH emp_js INTO :ls_cc,:lc_dj,:ll_sl;
loop
CLOSE emp_js;
end if
billliao58 2012-02-17
  • 打赏
  • 举报
回复
我想大家誤會我的意思了…
我的意思是出貨資料維護畫面時是尺寸橫式展開維護,
存入資料庫時,要依照型號、尺寸分別儲存,
不知道各位先進了解我的意思嗎?
yyoinge 2012-02-16
  • 打赏
  • 举报
回复
在数据窗口的itemchanged事件中,写代码:
if dwo.name = '型號对应的列的列名' then
dec sl
select 数量 into :sl from 出貨資料 where 型號 = :data and 尺寸 = 'M';
if sqlca.sqlcode = 0 then
setitem(row, 'M对应的列的列名', sl)
end if
select 数量 into :sl from 出貨資料 where 型號 = :data and 尺寸 = 'L';
if sqlca.sqlcode = 0 then
setitem(row, 'L对应的列的列名', sl)
end if
select 数量 into :sl from 出貨資料 where 型號 = :data and 尺寸 = 'XL';
if sqlca.sqlcode = 0 then
setitem(row, 'XL对应的列的列名', sl)
end if
select top 1 定價 into :sl from 商品基本資料 where 型號 = :data;
if sqlca.sqlcode = 0 then
setitem(row, '定價对应的列的列名', sl)
end if
end if
fm20027 2012-02-15
  • 打赏
  • 举报
回复
一般是给商品定义一个代码,当然,定义代码时需要有些规律性,比如同种商品给一个几位前缀相同的代码,而用最后几位来区分规格。
建立一个商品基础信息库,其中包括商品代码、名称、型号、规格及单价等。
然后在系统中全部使用代码来管理商品。

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧