DBGrid第一次進入時,第一個儲存格無法編輯 |
尚未結案
|
terrychen
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
|
yachanga
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:24 回覆:335 積分:296 註冊:2003-09-27 發送簡訊給我 |
|
terrychen
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
|
aj0724
一般會員 ![]() ![]() 發表:11 回覆:41 積分:10 註冊:2003-04-18 發送簡訊給我 |
|
liorex
初階會員 ![]() ![]() 發表:19 回覆:60 積分:32 註冊:2002-08-20 發送簡訊給我 |
|
terrychen
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
感謝各位回應
procedure TEditForm.btinsertClick(Sender: TObject); var SA: array[0..256] of Char; bl:boolean; begin if (Length(Edit2.Text) = 0) then begin exit; end; if (Length(Edit2.Text) = 9) then begin With DM.Query2 Do begin Close; SQL.Clear; SQL.Add('select * from Student where X_NO1=:X_NO1'); Parameters.ParamByName('X_NO1').Value:= Edit2.Text; Open; end; if (DM.Query2.RecordCount > 0) then begin Application.MessageBox('資料庫已有該學生資料 !',' 錯 誤',MB_ICONERROR); DM.DataSet1.Locate('X_NO1', Edit2.Text, [loCaseInsensitive]); edit2.SetFocus; exit; end; With DM.Query3 Do begin Close; SQL.Clear; SQL.Add('select * from data where x_no1=:x_no1'); Parameters.ParamByName('x_no1').Value:= Edit2.Text; Open; end; if (DM.Query3.RecordCount = 1) then begin StrPCopy(SA, '考生姓名為 " ' Trim(DM.Query3.FieldByName('s_name').AsString) ' " ,身分證號為 " ' DM.Query3.FieldByName('id').AsString ' " ,' #13 '出生日期為 " ' DM.Query3.FieldByName('b_year').AsString '/' DM.Query3.FieldByName('b_month').AsString '/' DM.Query3.FieldByName('b_day').AsString ' ",是否正確?'); if Application.MessageBox(SA, '資料確認', MB_YesNo MB_DEFBUTTON1 MB_IconQuestion MB_SystemModal) = IDYes then begin With DM.Query2 Do begin Append; FieldByName('EX_NO').Value:= DM.Query3.FieldByName('ex_no').AsString; FieldByName('X_NO1').Value:= DM.Query3.FieldByName('x_no1').AsString; FieldByName('GROUP_NO').Value:= MainForm.SCode; FieldByName('s_serial').Value:= Copy(IntToStr(strtoint(edit1.Text) 100001), 2, 5); FieldByName('s_class').Value:= '00'; FieldByName('s_number').Value:= '00'; FieldByName('s_name').Value:= Trim(DM.Query3.FieldByName('s_name').AsString); FieldByName('id').Value:= DM.Query3.FieldByName('id').AsString; FieldByName('s_sex').Value:= DM.Query3.FieldByName('s_sex').AsString; FieldByName('b_year').Value:= DM.Query3.FieldByName('b_year').AsString; FieldByName('b_month').Value:= DM.Query3.FieldByName('b_month').AsString; FieldByName('b_day').Value:= DM.Query3.FieldByName('b_day').AsString; FieldByName('r_schno').Value:= DM.Query3.FieldByName('r_schno').AsString; FieldByName('g_year').Value:= DM.Query3.FieldByName('g_year').AsString; FieldByName('g_state').Value:= DM.Query3.FieldByName('g_state').AsString; FieldByName('s_kind1').Value:= DM.Query3.FieldByName('s_kind1').AsString; FieldByName('s_kind2').Value:= DM.Query3.FieldByName('s_kind2').AsString; FieldByName('parent').Value:= DM.Query3.FieldByName('parent').AsString; FieldByName('remark_1').Value:= DM.Query3.FieldByName('remark_1').AsString; FieldByName('tel').Value:= DM.Query3.FieldByName('tel').AsString; FieldByName('post_no').Value:= DM.Query3.FieldByName('post_no').AsString; FieldByName('address').Value:= DM.Query3.FieldByName('address').AsString; FieldByName('PR1').Value:= DM.Query3.FieldByName('SumPr').AsString; FieldByName('chi1').Value:= DM.Query3.FieldByName('ChineseReScore').AsString; FieldByName('eng1').Value:= DM.Query3.FieldByName('EnglishReScore').AsString; FieldByName('mat1').Value:= DM.Query3.FieldByName('MathReScore').AsString; FieldByName('soc1').Value:= DM.Query3.FieldByName('SocialReScore').AsString; FieldByName('nat1').Value:= DM.Query3.FieldByName('NatureReScore').AsString; FieldByName('total1').Value:= DM.Query3.FieldByName('SumScore').AsString; FieldByName('ODA').Value:= '0'; FieldByName('WISH1').Value:= ''; FieldByName('WISH2').Value:= ''; FieldByName('WISH3').Value:= '0'; FieldByName('WISH4').Value:= ''; FieldByName('ERROR').Value:= ''; Post; FunctionInitial; SelectData; edit2.SetFocus; end; // With DM.Query2 Do end; end // if (DM.Query3.RecordCount = 1) then else begin messagebeep(1); if Application.MessageBox('查無此學生資料 , 是否手動輸入 !', ' 錯誤', MB_YesNo MB_DEFBUTTON1 MB_IconQuestion MB_SystemModal) = IDYes then begin GroupBox3.Enabled :=true; DM.DataSet1.Insert; DBEdit1.SetFocus;游標有在DBEdit1的第一格,但是在OnEnter下斷點卻攔截不到 DBGrid1.ReadOnly := false; With DM.DataSet1 Do begin FieldByName('x_no1').Value:= Edit2.Text; FieldByName('GROUP_NO').Value:= MainForm.SCode; FieldByName('s_SERIAL').Value:= Copy(IntToStr(StrToInt(Edit1.Text) 100001), 2, 5); FieldByName('G_YEAR').Value:= '93'; FieldByName('G_STATE').Value:= '1'; FieldByName('s_sex').Value:= '1'; FieldByName('income').Value:= '0'; FieldByName('pay').Value:= '0'; end; end; end; Edit2.Text:= ''; end; end;~~應無所住而生其心~~ |
James
高階會員 ![]() ![]() ![]() ![]() 發表:10 回覆:290 積分:220 註冊:2002-07-25 發送簡訊給我 |
|
aj0724
一般會員 ![]() ![]() 發表:11 回覆:41 積分:10 註冊:2003-04-18 發送簡訊給我 |
恩..同意James大大的想法...
我也認為應該是把INSERT放到
With DM.DataSet1 Do
前面比較好... DBEdit1.SetFocus;
DBGrid1.ReadOnly := false;
DM.DataSet1.Insert;
With DM.DataSet1 Do
begin
FieldByName('x_no1').Value:= Edit2.Text;
FieldByName('GROUP_NO').Value:= MainForm.SCode;
FieldByName('s_SERIAL').Value:= Copy(IntToStr(StrToInt(Edit1.Text) 100001), 2, 5);
FieldByName('G_YEAR').Value:= '93';
FieldByName('G_STATE').Value:= '1';
FieldByName('s_sex').Value:= '1';
FieldByName('income').Value:= '0';
FieldByName('pay').Value:= '0';
end;
|
terrychen
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
|
aj0724
一般會員 ![]() ![]() 發表:11 回覆:41 積分:10 註冊:2003-04-18 發送簡訊給我 |
|
terrychen
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
引言: 報告terrychen大大: 雖然我的能力有限,但是我真的想幫忙,可是怎麼試都沒錯,可能是無法做到完全與terrychen大大一樣的環境,想來想去,只有懷疑一點,就是會不會terrychen大大忘了更新ADO的修正檔,雖然這種懷疑有點侮辱到大大的能力,可是在下我就是有這樣的經驗發生過,經過前輩的提醒才恍然大悟! 如果不是這個問題的話,我想唯有提供部分程式碼給其他大大測試,也許比較容易找出BUG! 謝謝!aj0724感謝您的回應及幫忙 小弟自己沒注意 其實您的答案正確 GroupBox3.Enabled :=true; DBGrid1.ReadOnly := false; DM.DataSet1.Insert; 小弟一直想把Focus放到insert前面,而忘了將DBGrid1.ReadOnly := false; 放到insert前面 ~~應無所住而生其心~~ 發表人 - Terrychen 於 2004/04/22 15:25:39 |
James
高階會員 ![]() ![]() ![]() ![]() 發表:10 回覆:290 積分:220 註冊:2002-07-25 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |