如何即時檢查DBGRID資料輸入的正確性? |
尚未結案
|
yaoyao01tw
一般會員 發表:28 回覆:17 積分:9 註冊:2003-01-28 發送簡訊給我 |
資料庫使用Access由於資料表中的欄位使用到日期欄位,
但使用者會輸入非法的格式如民國年,94/3/18
希望能檢查,讓使用者只能輸入2005/3/18
該採取怎樣的作法呢?
目前我採用如下的作法,並自己撰寫了檢查日期的函數,
不過仍然無法避免程式的意外中斷,如使用者在欄位中輸入'='
等非法字元,不知道是否有類似其他語言的Mask可以使用
避免輸入時,程式意外結束! procedure TFRM_ONO.ADOTable1BeforePost(DataSet: TDataSet);
begin
inherited;
if ChkIsValidDate(self.DBGrid1.Columns[0].Field.Value)=falsethen
begin
self.DBGrid1.Columns[0].Field.Value := '';
end; end;
|
pgdennis
資深會員 發表:41 回覆:526 積分:443 註冊:2002-05-23 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 假設日期欄位為DBGrid中的第四順位﹐在DBGrid元件的OnKeyPress事件中鎖定只允許使用輸入0~9的數字鍵﹐'/'鍵﹐后退鍵﹐有些像Mask的作用﹕
procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char); begin if (DBGrid1.SelectedIndex = 3) and (Key Not In ['0'..'9','/',#8]) then begin Key := #0; end; end;================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |