更改訊息 |
尚未結案
|
nick899
一般會員 發表:16 回覆:22 積分:12 註冊:2002-12-09 發送簡訊給我 |
我有Protery.db Index key值為Classification;Numbers(IndexFieldName)
當使用dbedit1(Classifiction),dbedit2(Numbers)
輸入1641,001時 (原Property.db就有1641,001資料)筆數上下移動
會出現警告視窗 key Vioation(内定),請問可以修改為
自己的警告訊息,謝謝您!!
別名:test
路徑c:\test
麻煩各位高手(內有Word訊息檔)
附加檔案:25998_test.zip
|
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
你要再加一個Query,然後DBEdit2Exit也設定為DBEdit1Exit..這樣就可以達到你要的檢查功能了...TRY TRY SEE
procedure TForm1.DBEdit1Exit(Sender: TObject); begin if Table1.state = dsInsert then begin if (DBEdit1.Text <> '') and (DBEdit2.Text <> '') then begin Query1.Close; //這裡你要用另外一個Query來做 Query1.SQL.Clear; Query1.SQL.ADD(' SELECT COUNT(*) as xcount FROM Property WHERE Classification=' #39 DBEdit1.Text #39 ' AND Numbers=' #39 DBEdit2.Text #39); Query1.Open; if Query1.FieldByName('xcount').Value < 1 then begin Query1.Close; end else begin SHOWMESSAGE('資料重覆!!!'); //Message在這裡你可以自己改成你要的.. DBEdit1.setfocus; Query1.Close; exit; end; end; end; end; |
懷舊的人
高階會員 發表:28 回覆:152 積分:141 註冊:2003-01-08 發送簡訊給我 |
引言: 我看過你的程式了,我稍為解釋一下,當你在DBGrid上下移動或是離開DBEDIT1 or DBEDIT2 時,已經在執行存檔的動作了,所以你最好是在 Table1 的 BeforPost 作檢查資料的動作,如果檢查有錯,記得使用 Abort 停止 Post。 (檢察方法可參考 chih 提供的方法,記得在拉個元件 TQuery,不要忘了設DatabaseName,如果真的需要完整範例你在說一聲) 你出現的訊息是當你存檔錯誤時由dbi發出的錯誤訊息,如果你要改那裡就等於要改等系統程式,不建議你這樣作。我認為你最好把 系統使用手冊級資料庫應用手冊看熟一些,對你幫助比教大,否則就算別人幫你解決這樣的問題,你的進步還是有限,謝謝,加加油。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |