無法傳回另一Form 值 |
尚未結案
|
lilisn
一般會員 發表:35 回覆:62 積分:24 註冊:2003-03-09 發送簡訊給我 |
有兩個Form (Form1,Form2)
procedure Form2.BitBtn1Click(Sender: TObject);
begin
Form1.DBEdit9.Text:=Trim(edit1.Text);
// showmessage(Form1.DBEdit9.Text); // 顯示有資料
Form1.DBEdit9.SetFocus;
Close;
end; 為何回到Form1的 DBedit9.Text 仍是空白
兩個unit1,unit2 多有相互uses
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
因為dbEdit 的 Text 是沒用的,會被 dbEdit 連到的 field 的 Value 取替。 所以,你應將資料直接傳給 field
如 :
Form1.dbEdit9.field.AsString := Trim(edit1.Text);
或
Form1.Table1Field1.AsString := Trim(edit1.Text);
或
Form1.Table1.FieldByName('Field1').AsString := Trim(edit1.Text);
|
lilisn
一般會員 發表:35 回覆:62 積分:24 註冊:2003-03-09 發送簡訊給我 |
[quote]
Form1.Adoquery.FieldByName('zaddress').AsString := Trim(edit1.Text);
會出現dataset not in edit or insert made error message
我是疏忽那理了?
謝謝 第二階段test
Form1.ADOQuery1.SQL.Clear;
Form1.ADOQuery1.SQL.Add('update company set ');
Form1.ADOQuery1.SQL.Add('zaddress = ''' Edit1.Text ''' ');
Form1.ADOQuery1.ExecSQL;
此寫法就可以,是否等於要先update,
不能直接暫時顯示在畫面,當user按save才去做update? 發表人 - lilisn 於 2003/04/19 16:14:00 發表人 - lilisn 於 2003/04/19 16:16:42
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
Form1.ADOQuery1.Close;
Form1.ADOQuery1.SQL.Clear;
Form1.ADOQuery1.SQL.Add('update company set ');
Form1.ADOQuery1.SQL.Add('zaddress = ' #39 Edit1.Text #39);
//底下這句是有key值再加上去,XXX是你的Key欄位名稱,ABC是你的值
Form1.ADOQuery1.SQL.Add('WHERE XXX= ' #39 ABC #39);
Form1.ADOQuery1.ExecSQL;
引言: 第二階段test Form1.ADOQuery1.SQL.Clear; Form1.ADOQuery1.SQL.Add('update company set '); Form1.ADOQuery1.SQL.Add('zaddress = ''' Edit1.Text ''' '); Form1.ADOQuery1.ExecSQL; 此寫法就可以,是否等於要先update, 不能直接暫時顯示在畫面,當user按save才去做update? |
lilisn
一般會員 發表:35 回覆:62 積分:24 註冊:2003-03-09 發送簡訊給我 |
引言: [blue] Form1.ADOQuery1.Close; Form1.ADOQuery1.SQL.Clear; Form1.ADOQuery1.SQL.Add('update company set '); Form1.ADOQuery1.SQL.Add('zaddress = ' #39 Edit1.Text #39); //底下這句是有key值再加上去,XXX是你的Key欄位名稱,ABC是你的值 Form1.ADOQuery1.SQL.Add('WHERE XXX= ' #39 ABC #39); Form1.ADOQuery1.ExecSQL; 謝謝提醒? |
lilisn
一般會員 發表:35 回覆:62 積分:24 註冊:2003-03-09 發送簡訊給我 |
引言: procedure Form2.BitBtn1Click(Sender: TObject); begin if not (Form1.Adoquery.state in [dsEdit,dsInsert]) then begin Form1.Adoquery.Edit; Form1.Adoquery.FieldByName('zaddress').AsString := Trim(edit1.Text); end; 是有run Form1.Adoquery.Edit; ..... 可是回到form1並沒有更改,還是原值, 為何ㄋ? |
channel
尊榮會員 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
引言:引言: procedure Form2.BitBtn1Click(Sender: TObject); begin if not (Form1.Adoquery.state in [dsEdit,dsInsert]) then begin Form1.Adoquery.Edit; Form1.Adoquery.FieldByName('zaddress').AsString := Trim(edit1.Text); end; Form.Adoquery.Refresh; 或 Form.Adoquery.Close; Form.Adoquery.Open; 是有run Form1.Adoquery.Edit; ..... 可是回到form1並沒有更改,還是原值, 為何ㄋ?
------
~小弟淺見,參考看看~ |
lilisn
一般會員 發表:35 回覆:62 積分:24 註冊:2003-03-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |