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

比對上下筆資料

答題得分者是:GrandRURU
smallmi
一般會員


發表:18
回覆:18
積分:7
註冊:2012-09-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2014-01-05 19:20:52 IP:124.11.xxx.xxx 訂閱
請問各位版大..從DB搜尋出的資料如附件圖...請問有何方式
可以像附件圖所示..上下筆資料一樣的話...該筆與下筆資料反黃
請各位版大指導..謝謝!!
附加檔案:52c940141123a_擷取.JPG
老大仔
尊榮會員


發表:78
回覆:837
積分:1088
註冊:2006-07-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2014-01-06 12:56:59 IP:210.61.xxx.xxx 未訂閱
設一個隱藏欄位
並找出是否有一樣的資料
有的話給1沒有的話給0
然後在DBGrid的Draw事件判斷該欄位值是否為1
假如是一的話就反黃

===================引 用 smallmi 文 章===================
請問各位版大..從DB搜尋出的資料如附件圖...請問有何方式
可以像附件圖所示..上下筆資料一樣的話...該筆與下筆資料反黃
請各位版大指導..謝謝!!
smallmi
一般會員


發表:18
回覆:18
積分:7
註冊:2012-09-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2014-01-08 12:32:30 IP:220.130.xxx.xxx 訂閱
我在ADOQuery20CalcFields中寫了以下語法..但發生錯誤
錯誤訊息是"引數中可能發生類型錯誤、超過可接受的定義範圍、或與其他引數發生衝突"
請大大指導..謝謝!!

while not Adoquery20.Eof do
begin
s1:=adoquery20.fieldbyname('sField2').AsString;
Adoquery20.Next;
ss:=adoquery20.fieldbyname('sField2').AsString;
if(ss=s1) then
begin
DataSet.FieldByName('s4').AsString:='0';
end;
end;



編輯記錄
smallmi 重新編輯於 2014-01-08 12:33:04, 註解 無‧
smallmi
一般會員


發表:18
回覆:18
積分:7
註冊:2012-09-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2014-01-09 19:16:42 IP:101.8.xxx.xxx 訂閱
回覆大大....我寫了以下語法..但是遇到一個問題
就是最後一筆資料會讀取2次...變成最後一筆資料會誤判重覆
找不出哪裡有問題..請大大指導...謝謝!!

[code delphi]
adoquery20.DisableControls;
try
Adoquery20.First;
while not Adoquery20.Eof do
begin
s2:=adoquery20.fieldbyname('sField2').AsString;
s3:=adoquery20.fieldbyname('remark').AsString;
Adoquery20.Next;
s4:=adoquery20.fieldbyname('sField2').AsString;
s5:=adoquery20.fieldbyname('remark').AsString;
if(s2=s4) then
begin
ListBox1.Items.Add(s3);
ListBox1.Items.Add(s5);
end;
end;
finally
adoquery20.EnableControls;
end;

[/code]

GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2014-01-10 12:04:31 IP:59.120.xxx.xxx 未訂閱
應該是這樣

[code delphi]
adoquery20.DisableControls;
try
s4 := ''; s5 := '';

Adoquery20.First;
s2:=adoquery20.fieldbyname('sField2').AsString;
s3:=adoquery20.fieldbyname('remark').AsString;

while not Adoquery20.Eof do
begin
if not Adoquery20.Bof then
begin
s4:=adoquery20.fieldbyname('sField2').AsString;
s5:=adoquery20.fieldbyname('remark').AsString;
end;

if(s2=s4) then
begin
ListBox1.Items.Add(s3);
ListBox1.Items.Add(s5);
end
else
begin
s2 := s4;
s3 := s5;
end;

Adoquery20.Next;
end;
finally
adoquery20.EnableControls;
end;
[/code]

===================引 用 smallmi 文 章===================
回覆大大....我寫了以下語法..但是遇到一個問題
就是最後一筆資料會讀取2次...變成最後一筆資料會誤判重覆
找不出哪裡有問題..請大大指導...謝謝!!

[code delphi]
adoquery20.DisableControls;
try
Adoquery20.First;
while not Adoquery20.Eof do
begin
s2:=adoquery20.fieldbyname('sField2').AsString;
s3:=adoquery20.fieldbyname('remark').AsString;
Adoquery20.Next;
s4:=adoquery20.fieldbyname('sField2').AsString;
s5:=adoquery20.fieldbyname('remark').AsString;
if(s2=s4) then
begin
ListBox1.Items.Add(s3);
ListBox1.Items.Add(s5);
end;
end;
finally
adoquery20.EnableControls;
end;

[/code]

編輯記錄
GrandRURU 重新編輯於 2014-01-10 12:06:10, 註解 無‧
GrandRURU 重新編輯於 2014-01-10 12:08:50, 註解 無‧
系統時間:2024-04-20 8:44:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!