Query Open 時,出現"存放裝置空間不足,無法完成此操作" |
尚未結案
|
eric039
中階會員 發表:57 回覆:126 積分:51 註冊:2002-11-30 發送簡訊給我 |
我的語法如下
qyReport.SQL.Clear;
qyReport.Sql.Add('Select M.AssetMasterNo,M.AssetMasterDate,M.AssetMasterKind,');
qyReport.Sql.Add('M.BeforeOrganizationNo,M.BeforeEmployeeNo,M.AfterOrganizationNo,M.AfterEmployeeNo,');
qyReport.SQL.Add('M.Notes,D.AssetMasterOrder,D.AssetNo,D.AssetUniq,A.AssetName, A.Unit, ');
qyReport.Sql.Add('A.BuyDate, A.FactoryName, A.SerialNo, ');
qyReport.Sql.Add('(Select OrganizationName From Organization Where OrganizationNo = M.BeforeOrganizationNo) as BeforeOrganizationName, ');
qyReport.Sql.Add('(Select OrganizationName From Organization Where OrganizationNo = M.AfterOrganizationNo) as AfterOrganizationName, ');
qyReport.Sql.Add('(Select EmployeeName From Employee Where EmployeeNo = M.BeforeEmployeeNo) as BeforeEmployeeName, ');
qyReport.Sql.Add('(Select EmployeeName From Employee Where EmployeeNo = M.AfterEmployeeNo) as AfterEmployeeName');
qyReport.SQL.Add('From AssetMaster M, AssetDetail D, Asset A');
qyReport.Sql.Add('Where M.AssetMasterNo = :pAssetMasterNO');
qyReport.Sql.Add('And D.AssetMasterNo = M.AssetMasterNO');
qyReport.Sql.Add('And A.AssetUniq = D.AssetUniq');
qyReport.SQL.Add('Order By D.AssetUniq Asc');
qyReport.Parameters.ParamByName('pAssetMasterNo').Value := edAssetMasterNo.Text;
qyReport.Open; 執行到 Open 就會出現 出現"存放裝置空間不足,無法完成此操作"
這個視窗 我如果沒有用 Parameters 的話
將底下這一行刪掉
qyReport.Sql.Add('Where M.AssetMasterNo = :pAssetMasterNO');
底下的 And 改成 Where 就沒有問題了
qyReport.Sql.Add('And D.AssetMasterNo = M.AssetMasterNO'); 請問這是什麼問題 Eric Lin
------
Eric Lin |
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
底下的改為這樣
qyReport.Sql.Add('Where M.AssetMasterNo = ' #39 edAssetMasterNo.Text #39);
qyReport.Sql.Add('And D.AssetMasterNo = M.AssetMasterNO');
qyReport.Sql.Add('And A.AssetUniq = D.AssetUniq');
qyReport.SQL.Add('Order By D.AssetUniq Asc');
qyReport.Open;
TRY TRY SEE
引言: qyReport.Sql.Add('Where M.AssetMasterNo = :pAssetMasterNO'); qyReport.Sql.Add('And D.AssetMasterNo = M.AssetMasterNO'); qyReport.Sql.Add('And A.AssetUniq = D.AssetUniq'); qyReport.SQL.Add('Order By D.AssetUniq Asc'); qyReport.Parameters.ParamByName('pAssetMasterNo').Value := edAssetMasterNo.Text; qyReport.Open; |
wnhoo
高階會員 發表:75 回覆:443 積分:198 註冊:2003-04-22 發送簡訊給我 |
qyReport.Sql.Add('Where M.AssetMasterNo = :pAssetMasterNO');
qyReport.Sql.Add('And D.AssetMasterNo = M.AssetMasterNO');
qyReport.Sql.Add('And A.AssetUniq = D.AssetUniq');
qyReport.SQL.Add('Order By D.AssetUniq Asc');
qyReport.Parameters.ParamByName('pAssetMasterNo').ASINTEGER :=TRIM( edAssetMasterNo.Text);
qyReport.Open; 实验一下看看!!! 风花雪月 e梦情缘
------
风花雪月 e梦情缘 |
eric039
中階會員 發表:57 回覆:126 積分:51 註冊:2002-11-30 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
eric039
中階會員 發表:57 回覆:126 積分:51 註冊:2002-11-30 發送簡訊給我 |
不好意思,最近超忙的。
我把程式碼改成這樣
qyReport.SQL.Clear;
qyReport.Sql.Add('Select M.AssetMasterNo, M.AssetMasterDate, M.AssetMasterKind, ');
qyReport.Sql.Add('M.BeforeOrganizationNo, M.BeforeEmployeeNo, M.AfterOrganizationNo, M.AfterEmployeeNo, ');
qyReport.SQL.Add('M.Notes, D.AssetMasterOrder, D.AssetNo, D.AssetUniq');
qyReport.SQL.Add('From AssetMaster M, AssetDetail D');
qyReport.Sql.Add('Where M.AssetMasterNo = :pAssetMasterNO');
qyReport.Sql.Add('And D.AssetMasterNo = M.AssetMasterNO');
qyReport.SQL.Add('Order By D.AssetMasterOrder Asc');
qyReport.Parameters.ParamByName('pAssetMasterNo').Value := edAssetMasterNo.Text;
qyReport.Open; 其他的部分在 Query 元件中用 Lookup 欄位來取得。
我是比較不喜歡用這樣的方式。 Eric Lin
------
Eric Lin |
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
newbie
初階會員 發表:81 回覆:45 積分:25 註冊:2002-11-28 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |