BeforeEdit的問題 |
尚未結案
|
narcysion
一般會員 發表:54 回覆:18 積分:14 註冊:2003-03-14 發送簡訊給我 |
我在BeforeEdit裡,加入下面的程式碼 if SubDataQuerym501101.AsString <> '' then
begin
CheckQuery.SQL.Add(' select count(*) as ABC from sm3031 ');
CheckQuery.SQL.Add(format(' where m303103 = ''%s'' ',[SubDataQuerym501101.AsString]));
CheckQuery.SQL.Add(format(' and m303114 = %f ',[SubDataQuerym501102.Asfloat]));
CheckQuery.Open;
if CheckQuery.FieldByName('ABC').Value>0 then
begin
Showmessage('已有領料資料!不能修改項次!或請洽 MIS !');
Abort;
end;
CheckQuery.Close;
end; 我這樣寫,我所有的欄位皆可不修改,
但我現在只要讓其中的某一個欄位不可改,其餘皆可修改,要如何加程式碼?
|
narcysion
一般會員 發表:54 回覆:18 積分:14 註冊:2003-03-14 發送簡訊給我 |
|
yachanga
資深會員 發表:24 回覆:335 積分:296 註冊:2003-09-27 發送簡訊給我 |
if dbgrid1.SelectedField.FieldName <>'Field' then begin
if SubDataQuerym501101.AsString <> '' then
begin
CheckQuery.SQL.Add(' select count(*) as ABC from sm3031 ');
CheckQuery.SQL.Add(format(' where m303103 = ''%s'' ',[SubDataQuerym501101.AsString]));
CheckQuery.SQL.Add(format(' and m303114 = %f ',[SubDataQuerym501102.Asfloat]));
CheckQuery.Open;
if CheckQuery.FieldByName('ABC').Value>0 then
begin
Showmessage('已有領料資料!不能修改項次!或請洽 MIS !');
Abort;
end;
CheckQuery.Close;
end;
end;
end; ~悠遊法國號~
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
narcysion 你好: DataSet 的 BeforeEdit Event 好像不太恰當. 試試看用 TDataSource 的 OnDataChange Event.
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField); begin if (Field<>nil)and(Field.FieldName = '項次') then begin showmessage('項次 Changed.'); ... end; end; |
yachanga
資深會員 發表:24 回覆:335 積分:296 註冊:2003-09-27 發送簡訊給我 |
|
narcysion
一般會員 發表:54 回覆:18 積分:14 註冊:2003-03-14 發送簡訊給我 |
|
yachanga
資深會員 發表:24 回覆:335 積分:296 註冊:2003-09-27 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |