界面輸入條件是: 基準年月: 9999/99
也就是輸入年月1.依畫面基準年月條件抽出出應收餘額檔資料 且應收帳款總餘額<>0
欄位: 客戶編號 客戶簡稱(以客戶編號找客戶主檔取簡稱) 金額(應收帳款總餘額)未過期帳款(本月應收帳款額 - 本月收款金額),過期金額(金額 -未過期帳款)2.以1.之客戶找應收餘額檔基準年月前一個月資料 且 過期金額 > 0
過期金額 - 本月應收帳款額 +本月收款金額 =>剩餘過期金額
欄位: 客戶編號 客戶簡稱 金額 未過期帳款 過期金額(剩餘過期金額)
若剩餘過期金額 > 0 則 過期一個月 =本月應收帳款額 -本月收款金額
else 過期一個月 =過期金額
3. 以2.之客戶找應收餘額檔基準年月前二個月資料 且 過期金額 > 0
過期金額 - 本月應收帳款額 +本月收款金額 =>剩餘過期金額
欄位: 客戶編號 客戶簡稱 金額 未過期帳款 過期金額(剩餘過期金額)
若剩餘過期金額 > 0 則 過期二個月 =本月應收帳款額 -本月收款金額
過期三個月 = 剩餘過期金額
else 過期二個月 =過期金額
過期三個月 = 0
4. 程式結束時印總計 金額 ~ 過期三個月
可以加我的QQ:254734866討論
也就是輸入年月1.依畫面基準年月條件抽出出應收餘額檔資料 且應收帳款總餘額<>0
欄位: 客戶編號 客戶簡稱(以客戶編號找客戶主檔取簡稱) 金額(應收帳款總餘額)未過期帳款(本月應收帳款額 - 本月收款金額),過期金額(金額 -未過期帳款)2.以1.之客戶找應收餘額檔基準年月前一個月資料 且 過期金額 > 0
過期金額 - 本月應收帳款額 +本月收款金額 =>剩餘過期金額
欄位: 客戶編號 客戶簡稱 金額 未過期帳款 過期金額(剩餘過期金額)
若剩餘過期金額 > 0 則 過期一個月 =本月應收帳款額 -本月收款金額
else 過期一個月 =過期金額
3. 以2.之客戶找應收餘額檔基準年月前二個月資料 且 過期金額 > 0
過期金額 - 本月應收帳款額 +本月收款金額 =>剩餘過期金額
欄位: 客戶編號 客戶簡稱 金額 未過期帳款 過期金額(剩餘過期金額)
若剩餘過期金額 > 0 則 過期二個月 =本月應收帳款額 -本月收款金額
過期三個月 = 剩餘過期金額
else 過期二個月 =過期金額
過期三個月 = 0
4. 程式結束時印總計 金額 ~ 過期三個月
可以加我的QQ:254734866討論
1. 依画面基准年月条件抽出出应收余额文件资料 且应收帐款总余额 <> 0 (B.THSURIAMT-B.THSINCOMEAMT) AS NPASSAMT
字段: 客户编号 客户简称(以客户编号找客户主档取简称) 金额(应收帐款总余额)未过期帐款(本月应收帐款额 - 本月收款金额)
过期金额(金额 -未过期帐款)
, (B.URIZANAMT-B.THSURIAMT+B.THSINCOMEAMT)2. 以1.之客户找应收余额档基准年月前一个月资料 且 过期金额 > 0
过期金额 - 本月应收帐款额 +本月收款金额 =>剩余过期金额
(B.URIZANAMT-B.THSURIAMT+B.THSINCOMEAMT-B.THSURIAMT+B.THSINCOMEAMT) =>剩余过期金额
字段: 客户编号 客户简称 金额 未过期帐款 过期金额(剩余过期金额)
若剩余过期金额 > 0 则 过期一个月 =本月应收帐款额 -本月收款金额
else 过期一个月 =过期金额
3. 以2.之客户找应收余额档基准年月前二个月资料 且 过期金额 > 0
过期金额 - 本月应收帐款额 +本月收款金额 =>剩余过期金额
字段: 客户编号 客户简称 金额 未过期帐款 过期金额(剩余过期金额)
若剩余过期金额 > 0 则 过期二个月 =本月应收帐款额 -本月收款金额
过期三个月 = 剩余过期金额
else 过期二个月 =过期金额
过期三个月 = 0
4. 程序结束时印总计 金额 ~ 过期三个月我換成簡體了
有MSN: [email protected]看得有點頭痛如果是SQLServer 數據庫的話
有一個函數:DateDiff函數,來對日期進行計算更詳細的使用見幫助
FROM (SELECT B.TORICD,C.SHORTNAME,B.URIZANAMT,(B.THSURIAMT-B.THSINCOMEAMT) AS NPASSAMT,B.URIKAKEYM
,(Add_months(to_date(URIKAKEYM,'yyyy/mm'), -1)) AS URIKAKEYMSUB1
,(Add_months(to_date(URIKAKEYM,'yyyy/mm'), -2)) AS URIKAKEYMSUB2
FROM UKARM.URIZANF B LEFT JOIN UKODM.CUSTMS C ON B.TORICD=C.TORICD WHERE URIZANAMT<>'0')A
LEFT JOIN
(SELECT TORICD,URIKAKEYM,(Add_months(to_date(URIKAKEYM,'yyyy/mm'), -1)) AS URIKAKEYMSUB1
,(CASE WHEN (URIZANAMT-THSURIAMT+THSINCOMEAMT-THSURIAMT+THSINCOMEAMT)>0
THEN (THSURIAMT-THSINCOMEAMT) ELSE (URIZANAMT-THSURIAMT+THSINCOMEAMT) END) AS MPass1
FROM UKARM.URIZANF WHERE URIZANAMT<>'0')B
ON (A.TORICD=B.TORICD AND A.URIKAKEYMSUB1=B.URIKAKEYMSUB1)
LEFT JOIN
(SELECT TORICD,URIKAKEYM,(Add_months(to_date(URIKAKEYM,'yyyy/mm'), -2)) AS URIKAKEYMSUB2
,(CASE WHEN (URIZANAMT-THSURIAMT+THSINCOMEAMT-THSURIAMT+THSINCOMEAMT)>0
THEN (THSURIAMT-THSINCOMEAMT) ELSE (URIZANAMT-THSURIAMT+THSINCOMEAMT) END) AS MPass2
,(CASE WHEN (URIZANAMT-THSURIAMT+THSINCOMEAMT-THSURIAMT+THSINCOMEAMT)>0
THEN (URIZANAMT-THSURIAMT+THSINCOMEAMT-THSURIAMT+THSINCOMEAMT) ELSE 0 END) AS MPass3
FROM UKARM.URIZANF WHERE URIZANAMT<>'0')C
ON (A.TORICD=C.TORICD AND A.URIKAKEYMSUB2=C.URIKAKEYMSUB2)
ORDER BY A.TORICD;