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

將另一個dbgrid1的顯示於dbgrid2內

答題得分者是:speedup
monkeyhung
一般會員


發表:51
回覆:55
積分:21
註冊:2006-12-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-05-21 17:43:03 IP:203.69.xxx.xxx 訂閱


各位大大好:謝謝各位在百忙之中,抽空前來觀看小弟的問題,在此先謝謝您!


小弟我現在就是想在這dbgrid2裡能把dbgrid1裡的序號(Seq)、品項代號(ProdNo、數量(Qty)、單位(UnitP)、
預定交貨日(SihpDay)這些欄位的值顯示於dbgrid裡,方便user不用再多輸入這些欄位,而只要輸入,單價
、折扣就好了。
而二個dbgrid都有相關的欄位謮購單號(PONo)
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-05-21 20:03:28 IP:220.142.xxx.xxx 訂閱
不太懂這樣用意為何?
其實只要DBGRID1與DBGRID2的DATASOURCE指向同一個就可以了!!
但是你不能把DBGRID2裡面增加二個欄位>>這裡是你的問題嘛??
其實只要對SQL語法動手腳~
譬如原來的 SELECT * from TABLE 若改成 SELECT *,價格=0,數量=0 from TABLE
在將DBGRID2裡面增加2個顯示欄位[價格][數量]就可以了~
那其實就不必要有DBGRID1

若不是我想像的那樣!! 那麼請指正~
------
======================
昏睡~
不昏睡~
不由昏睡~
monkeyhung
一般會員


發表:51
回覆:55
積分:21
註冊:2006-12-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-05-21 22:55:58 IP:59.114.xxx.xxx 訂閱
大大可能是我解釋的不夠清楚吧!!

因為我的dbgrid1是請購單的表身檔。而dbgrid2是採購單的表身檔。

而我想讓user在輸入完 請購單號時,而當user按下「轉入」鈕時

就會把請購單表身檔裡跟採購單表身檔裡的相同欄給「轉入、匯入」

所以我才提出這樣的問題
eaglewolf
資深會員


發表:4
回覆:268
積分:429
註冊:2006-07-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-05-22 08:52:21 IP:211.75.xxx.xxx 訂閱
你這個問題與先前的問題類似吧
http://delphi.ktop.com.tw/board.php?cid=30&fid=66&tid=88270

===================引 用 monkeyhung 文 章===================
大大可能是我解釋的不夠清楚吧!!

因為我的dbgrid1是請購單的表身檔。而dbgrid2是採購單的表身檔。

而我想讓user在輸入完 請購單號時,而當user按下「轉入」鈕時

就會把請購單表身檔裡跟採購單表身檔裡的相同欄給「轉入、匯入」

所以我才提出這樣的問題
------
先查HELP
再查GOOGLE
最後才發問

沒人有義務替你解答問題
在標題或文章中標明很急
並不會增加網友回答速度

Developing Tool:
1.Delphi 6
2.Visual Studio 2005
3.Visual Studio 2008
DBMS:
MS-SQL
speedup
資深會員


發表:19
回覆:259
積分:280
註冊:2003-07-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-05-22 08:59:57 IP:60.248.xxx.xxx 訂閱
直接對兩個DBGrid連接的DataSet 操作即可
DataSet1.First;
while not DataSet1.Eof do
begin
DataSet2.Append;
DataSet2['Seq;ProdNo;Qty;UnitP;SihpDay']:=DataSet1['Seq;ProdNo;Qty;UnitP;SihpDay'];
DataSet2.Post;
DataSet1.Next;
end;

------
唉~
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-05-24 08:03:44 IP:220.142.xxx.xxx 訂閱

===================引 用 monkeyhung 文 章===================
大大可能是我解釋的不夠清楚吧!!

因為我的dbgrid1是請購單的表身檔。而dbgrid2是採購單的表身檔。

而我想讓user在輸入完 請購單號時,而當user按下「轉入」鈕時

就會把請購單表身檔裡跟採購單表身檔裡的相同欄給「轉入、匯入」

所以我才提出這樣的問題

以上...
問題不在於dbgrid1跟dbgrid2的資料顯示!!
程序上應該是當使用者新增完請購單顯示在dbgrid1後
按下[轉入]時要把dbgrid1上面的資料"先"寫入資料庫的採購單檔
再去搜尋資料庫的採購單檔顯示在dbgrid2上面
所以你要再[轉入]後再去OPEN dbgrid2 的DATASET
------
======================
昏睡~
不昏睡~
不由昏睡~
monkeyhung
一般會員


發表:51
回覆:55
積分:21
註冊:2006-12-16

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-05-24 13:54:46 IP:203.69.xxx.xxx 訂閱
謝謝大大,你的提示,讓我完成
以下是我的程式碼
if Trim(DBEdit_SPONo.Text) <> '' then begin
Query_PUR200D.Edit;
DM1.SQL_Command := 'select * from PUR100D where PONo=''' DBEdit_SPONo.text '''';
DM1._Query_table(Query_PUR110D,DM1.SQL_Command);
Query_PUR110D.First;
showmessage(DM1.SQL_Command);
while not(Query_PUR110D.Eof ) do begin
Query_PUR200D.Append;
Query_PUR200D['Seq;ProdNo;Qty;UnitP;ShipDay']:=Query_PUR110D['Seq;ProdNo;NeedQty;UnitP;ShipDay'];
Query_PUR200DPriceU.Value:=0; //轉入時,單價先給一個預設值
Query_PUR200D.Post;
Query_PUR110D.Next;
end;
end
else begin
showmessage('請輸入請購單號,以便轉入!');
Abort;
end;


===================引 用 speedup 文 章===================
直接對兩個DBGrid連接的DataSet 操作即可
?DataSet1.First;
?while not DataSet1.Eof do
?begin
? DataSet2.Append;
? DataSet2['Seq;ProdNo;Qty;UnitP;SihpDay']:=DataSet1['Seq;ProdNo;Qty;UnitP;SihpDay'];
? DataSet2.Post;
? DataSet1.Next;
?end;

系統時間:2024-07-03 5:12:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!