請問該如何下【指定的兩各欄位數字若相同就不顯示】的條件限制 |
答題得分者是:P.D.
|
lovemari
中階會員 發表:134 回覆:224 積分:76 註冊:2005-08-18 發送簡訊給我 |
各位大大 你們好 小弟有各問題想請教
====================================== 假設 欄位 A , B , C , D , E (A是主鍵) 如果 欄位B的數字 = 欄位E的數字 就不要顯示這行A...的資料 請問???部分該如何下條件呢?? [code delphi] IF Fieldbyname('B').AsInteger = Fieldbyname('E').AsInteger THEN BEGIN ??????? [/code]
------
Program : Delphi 7 DataBase : Oracle 9i Client : ClientDataSet |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
lovemari
中階會員 發表:134 回覆:224 積分:76 註冊:2005-08-18 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
lovemari
中階會員 發表:134 回覆:224 積分:76 註冊:2005-08-18 發送簡訊給我 |
如下
那我希望說 如果 入庫數量 = 測試數量 該行就不要秀出來 [code delphi] //入庫 begin with csTempWOg do begin Close; Params.Clear; w7 := 'SELECT B.WORK_ORDER "工單",C.PART_NO "機種名稱",B.TARGET_QTY "批量",B.INPUT_QTY "已投入",B.WO_START_DATE "投產時間", ' 'COUNT(DISTINCT A.SERIAL_NUMBER) "入庫數量" ' 'FROM SAJET.G_SN_STATUS A, ' 'SAJET.G_WO_BASE B, ' 'SAJET.SYS_PART C, ' '(SELECT COUNT (DISTINCT d.serial_number) cnt, work_order ' ' FROM sajet.g_sn_status d ' ' WHERE d.wip_process = ''0'' ' ' AND d.next_process = ''0'' ' ' AND d.in_process_time IS NOT NULL ' ' GROUP BY work_order) E ' 'WHERE A.WORK_ORDER = B.WORK_ORDER ' 'AND B.WORK_ORDER = E.WORK_ORDER ' 'AND B.MODEL_ID = C.PART_ID ' 'AND A.STAGE_ID <> ''100015'' ' 'AND A.WIP_PROCESS = ''0'' ' 'AND A.NEXT_PROCESS = ''0'' ' 'AND A.IN_PROCESS_TIME IS NOT NULL ' 'AND B.WORK_ORDER NOT IN (''51A00001'',''99A00005'') ' 'AND B.WO_STATUS NOT IN (''1'',''2'',''4'',''5'',''6'') ' 'AND B.INPUT_QTY <> CNT ' 'GROUP BY B.WORK_ORDER,C.PART_NO,B.TARGET_QTY,B.INPUT_QTY,B.WO_START_DATE ' 'ORDER BY B.WO_START_DATE DESC '; commandtext := w7; open; while not eof do //跑迴圈 BEGIN t:=0; FOR u:=1 to StringGrid5.RowCount-1 do begin With StringGrid5 do //如果工單=組裝工單就填入入庫 IF Cells[1,u] = Fieldbyname('工單').AsString then begin // With StringGrid1 do Cells[12,u] := Fieldbyname('入庫數量').AsString; t:=1; end; end; //如果不等於組裝工單就往下填 if t=0 then begin With StringGrid5 do begin RowCount := RowCount 1; Cells[1,RowCount-1] := Fieldbyname('工單').AsString; Cells[2,RowCount-1] := Fieldbyname('機種名稱').AsString; Cells[3,RowCount-1] := Fieldbyname('批量').AsString; Cells[4,RowCount-1] := Fieldbyname('投產時間').AsString; Cells[5,RowCount-1] := Fieldbyname('已投入').AsString; Cells[12,RowCount-1] := Fieldbyname('入庫數量').AsString; END; END; NEXT; end; if StringGrid5.Cells[1,StringGrid5.rowcount-1] = '' then StringGrid5.RowCount:= StringGrid5.RowCount-1; cLOSE; END; [/code]
------
Program : Delphi 7 DataBase : Oracle 9i Client : ClientDataSet
編輯記錄
lovemari 重新編輯於 2008-04-02 15:08:17, 註解 無‧
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
我想你要的功能, 非常類似之前另一位的需求
建議你建立同等大小的二維陣列, 將判斷出來不顯示的CELL值(C.R) 就等於陣列的 (X,Y)值記錄字型顏色(例如CLWHITE或CLBLACK) 然後再ONDRAW 重繪時取出指定給 CANVAS() 應可達到你要的功能 請參考 http://delphi.ktop.com.tw/board.php?cid=30&fid=1498&tid=92742 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |