全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:922
推到 Plurk!
推到 Facebook!

資料庫取出後,日期為之間,且後日期為下一筆之前一筆

答題得分者是:Brian77
doll_candy
初階會員


發表:110
回覆:53
積分:32
註冊:2002-04-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-22 09:33:39 IP:61.218.xxx.xxx 未訂閱
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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-22 10:27:50 IP:61.61.xxx.xxx 未訂閱
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;
系統時間:2024-10-05 7:09:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!