如何joint 兩個Query內的資料合併於同一preview畫面上? (QReport) |
尚未結案
|
wimi
一般會員 發表:8 回覆:13 積分:9 註冊:2009-12-07 發送簡訊給我 |
各位前輩,
我有個問題關於QReport的應用, 首先我有兩個dB,我想將此兩dB內的 特定欄位資料撈出來 顯示在preview畫面上, 這兩個dB間有相同的欄位資料(product ID),以方便我做joint。 主要使用的元件有: QuickRep*1 QRLabel*6 QRDBText*5 Query*2 DataSource*2 Table*2 Query主要利用SQL指令作搜尋用,且active為true, button觸發click事件後,即preview出所要的文件來。
文件所需要顯示的內容 (附件圖檔連結),前2欄為dB1內的資料,後3欄為db2內的資料, 我所做出來的preview結果dB1資料的結果為正確的, 但是dB2之資料只有第一筆的第一行有joint到,且資料內容正確;第一列的資料全部變成第一筆的資料.., 但是這並不是我需要的~我需要的是dB1每筆資料都可以joint到dB2, 想請問各位前輩們對此方面是否可幫助我一把呢^^! 或是有什麼相關的書籍或是資料,可以提供的,小妹我先謝謝大家! 編輯記錄
wimi 重新編輯於 2010-04-12 17:18:06, 註解 抱歉附檔沒夾成功..麻煩移駕到我新設的google相簿的連結....‧
|
st33chen
尊榮會員 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
|
wimi
一般會員 發表:8 回覆:13 積分:9 註冊:2009-12-07 發送簡訊給我 |
|
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
|
wimi
一般會員 發表:8 回覆:13 積分:9 註冊:2009-12-07 發送簡訊給我 |
hi, 我稍微有眉目了,
只是我目前將資料join到string grid內的SQL語法出現了問題! 若我沒有把master dB所有的欄位名加在SQL語法裡,就會出現缺少的該欄"not found"的警告視窗, 若全加,可是detail dB的欄位卻沒顯示出來... 以下是我的程式: [code cpp] Form1->Query1->SQL->Clear(); Form1->Query1->SQL->Text="select a.P_ProductionNo,a.B,a.C,a.D,b.fA,b.fB,a.E,a.F,a.G,a.H from Production a left join Defect b on a.P_ProductionNo= b.D_ProductionNo"; Form1->Query1->Prepared=true; Form1->Query1->Open();//or use Active = true; // show to string grid Form1->StringGrid1->FixedCols = 0; Form1->StringGrid1->FixedRows =1; int ColCount = Form1->Query1->FieldCount; int RowCount = Form1->Query1->RecordCount; Form1->StringGrid1->ColCount = ColCount ; Form1->StringGrid1->RowCount =RowCount ; Form1->Query1->First(); Form1->StringGrid1->DoubleBuffered = true; for(int iCol = 0 ; iCol < ColCount; iCol) { //顯示Table的 Field的名稱於 FixedRow上面 Form1->StringGrid1->Cells[iCol][0] = Form1->Query1->Fields->Fields[iCol]->FieldName; } int iRealRow = RowCount Form1->StringGrid1->FixedRows; for(int iRow = Form1->StringGrid1->FixedRows ; iRow < iRealRow ; iRow) { for(int iCol = 0 ; iCol < ColCount ; iCol) { Form1->StringGrid1->Cells[iCol][iRow] = Form1->Query1->Fields->Fields[iCol]->AsString; } Form1->Query1->Next(); } Form1->StringGrid1->DoubleBuffered = false; [/code] 想再請問我這樣的SQL語法是對的嗎?
編輯記錄
wimi 重新編輯於 2010-04-16 11:03:59, 註解 無‧
|
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
|
wimi
一般會員 發表:8 回覆:13 積分:9 註冊:2009-12-07 發送簡訊給我 |
|
kenwood
一般會員 發表:1 回覆:4 積分:1 註冊:2010-06-13 發送簡訊給我 |
|
kostin
一般會員 發表:18 回覆:43 積分:22 註冊:2010-03-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |