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

更改訊息

尚未結案
nick899
一般會員


發表:16
回覆:22
積分:12
註冊:2002-12-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-02-16 13:16:57 IP:61.228.xxx.xxx 未訂閱
我有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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-02-16 16:08:59 IP:61.216.xxx.xxx 未訂閱
你要再加一個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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-02-17 00:45:08 IP:218.187.xxx.xxx 未訂閱
引言: 我看過你的程式了,我稍為解釋一下,當你在DBGrid上下移動或是離開DBEDIT1 or DBEDIT2 時,已經在執行存檔的動作了,所以你最好是在 Table1 的 BeforPost 作檢查資料的動作,如果檢查有錯,記得使用 Abort 停止 Post。 (檢察方法可參考 chih 提供的方法,記得在拉個元件 TQuery,不要忘了設DatabaseName,如果真的需要完整範例你在說一聲) 你出現的訊息是當你存檔錯誤時由dbi發出的錯誤訊息,如果你要改那裡就等於要改等系統程式,不建議你這樣作。我認為你最好把 系統使用手冊級資料庫應用手冊看熟一些,對你幫助比教大,否則就算別人幫你解決這樣的問題,你的進步還是有限,謝謝,加加油。
系統時間:2024-05-04 21:09:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!