先在你的主結表里加上 procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char); begin if key=#13 then form2.Show; end; //在打開窗口的時候就插入一條新記錄,并把上一個窗口的數據帶過來. procedure TForm2.FormShow(Sender: TObject); begin adoquery1.Insert; adoquery1.FieldByName('統計表編號').AsString:=form1.ADOQuery1.FieldByName('統計表編號').AsString; adoquery1.FieldByName('工號').AsString:=form1.adoquery1.FieldByName('工號').AsString; adoquery1.Post; end; //輸入完后就回車保存; procedure TForm2.DBGrid1KeyPress(Sender: TObject; var Key: Char); begin if key=#13 then form2.close; end; 因為有二個表.所以就不是同一個數據集了
工號 工序號 產量
如果是的而可以在彈出dbgrid里讀取上一個dbgrid里的工號 加上現的 工序號 產量 后保存就行了吧!
還有連接同一個數據集
主表结构 统计表编号,编号,统计员
明细表结构 工号 工序号 产量 统计表编号
由于本人目前是初学dbgrid,该具体如何做,最好有代码.你的表結構是不是
工號 工序號 產量
如果是的而可以在彈出dbgrid里讀取上一個dbgrid里的工號 加上現的 工序號 產量 后保存就行了吧!
還有連接同一個數據集我也是这么考虑的,但是具体代码,能否写出一点
procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
form2.Show;
end;
//在打開窗口的時候就插入一條新記錄,并把上一個窗口的數據帶過來.
procedure TForm2.FormShow(Sender: TObject);
begin
adoquery1.Insert;
adoquery1.FieldByName('統計表編號').AsString:=form1.ADOQuery1.FieldByName('統計表編號').AsString;
adoquery1.FieldByName('工號').AsString:=form1.adoquery1.FieldByName('工號').AsString;
adoquery1.Post;
end;
//輸入完后就回車保存;
procedure TForm2.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
form2.close;
end;
因為有二個表.所以就不是同一個數據集了