資料庫取出後,日期為之間,且後日期為下一筆之前一筆 |
答題得分者是:Brian77
|
doll_candy
初階會員 發表:110 回覆:53 積分:32 註冊:2002-04-22 發送簡訊給我 |
D6版本 MS_Sql資料庫
各位大大
1.2個Table a & b
2.從Table_a 查出欄位1_日期,欄位2_價錢 n筆
如 批價日期 價錢
20021226 3
20030126 2.5
20030326 2
3.Table_b 查 品號XXXX 從20030201到20030630 共有N筆
進貨日期 品號 進貨數量
20030205 XXXX 100
20030305 XXXX 500
20030405 XXXX 350
20030630 XXXX 300
StringGrid結果要得知XXXX這品號
品號 批價日期_前次價錢 批價日期_本次價錢 進貨數量合計
XXXX 20021226(3) 20030126(2.5) 600
XXXX 20030126(2.5) 20030326(2) 650 說明:
因 進貨日期 20030205,20030305 落在批價20030126之後,所以取用2.5元
進貨日期 20030405,20030630 落在批價20030326之後,所以取用2元 目前可解之:
Select 日期,價錢 from Table_a 得到Table_a之資料
Select 進貨日期,進貨數量 from Table_a
Where 進貨日期 Between 20030201 and 20030630
And 品號='XXXX' 得到Table_b之資料
.
.
等
如何將 Table_b之資料一筆一筆的依據批價日期之內之價錢,放入StringGrid
& 在同一批價範圍區域做累加
拜託各位大大 謝謝 doll_candy
------
doll_candy |
Brian77
中階會員 發表:8 回覆:114 積分:94 註冊:2002-05-17 發送簡訊給我 |
m前期:=''; m前期價:=0; m本期:=''; m本期價:=0; m下期:=Table_a.批價日期; m下期價:=Table_a.價錢; mCount:=0; while True do begin if Table_b.EoF or (Table_b.進貨日期>=m下期) then begin if mCount>0 then begin 輸出 批價日期_前次價錢(m前期 m前期價),批價日期_本次價錢(m本期 m本期價),進貨數量合計(mCount) end; if Table_b.EoF then break; m前期:=m本期; m前期價:=m本期價; m本期:=m下期; m本期價:=m下期價; Table_a.Next; if Table_a.EoF then begin m下期:=EncodeDate(2049,12,31); m下期價:=0; end else begin m下期:=Table_a.批價日期; m下期價:=Table_a.價錢; end; mCount:=0; end; mCount:=mCount Table_b.進貨數量; Table_b.Next; end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |