Rave report的問題 |
答題得分者是:老大仔
|
eaglepan
一般會員 發表:2 回覆:4 積分:1 註冊:2002-04-03 發送簡訊給我 |
問題一:
如果在rave report 中設計了兩個Text component :Text1及Text2,當Delphi程式中adoquery欄位A 結果是'1'時,Text1.Visible=True,而 Text2.Visible=False;當欄位A 結果是'2'時,Text2.Visible=True,而 Text1.Visible=False 。這在程式中如何設計? 謝謝! 問題二: 以前使用Quick report在QRDBText的Properties項目中有一個Wordwap的設定,在Rave report中有嗎?謝謝! |
eaglepan
一般會員 發表:2 回覆:4 積分:1 註冊:2002-04-03 發送簡訊給我 |
我搜尋以前的解法如下,但編譯時會有error,我使用Delphi 2009:
procedure Tspq209.bb_PrintFormClick(Sender: TObject); var MyPage: TRavePage;←編譯時,此處會顯示error,[DCC Error] F_SPQ209.pas(803): E2003 Undeclared identifier: 'TRavePage' MyText: TRaveText;←編譯時,此處會顯示error,[DCC Error] F_SPQ209.pas(804): E2003 Undeclared identifier: 'TRaveText' begin aq_print.Close; aq_print.Parameters.ParamByName('s10601').Value := aq_spq106.FieldByName('s106_01').AsString; aq_print.Open; if aq_print.IsEmpty then begin ShowMessage('沒有符合的資料可以列印!'); Exit; end; try RvProject1.Open; MyPage := RvProject1.ProjMan.FindComponent('Report1.Page1',nil) as TRavePage; MyText := RvProject1.ProjMan.FindComponent('Text87',MyPage) as TRaveText; if aq_spq106.FieldByName('s106_02').AsString='30166' then MyText.Visible := True else MyText.Visible := False; RvProject1.Execute; finally RvProject1.Close; aq_print.close; end; end; |
老大仔
尊榮會員 發表:78 回覆:837 積分:1088 註冊:2006-07-06 發送簡訊給我 |
|
eaglepan
一般會員 發表:2 回覆:4 積分:1 註冊:2002-04-03 發送簡訊給我 |
謝謝老大仔的解答,編譯已過關。可是在執行時出現錯誤訊息
「Access violation at address 0057F8FB in module 'P_SPQ.exe'.Read of address 0000003C.」。 procedure Tspq209.bb_PrintFormClick(Sender: TObject); var MyPage: TRavePage; M8,M87: TRaveText; begin aq_print.Close; aq_print.Parameters.ParamByName('s10601').Value := aq_spq106.FieldByName('s106_01').AsString; aq_print.Open; if aq_print.IsEmpty then begin ShowMessage('沒有符合的資料可以列印!'); Exit; end; try RvProject1.Open; MyPage := RvProject1.ProjMan.FindRaveComponent('Project1.Page1',nil) as TRavePage; M8 := RvProject1.ProjMan.FindRaveComponent('Text8',MyPage) as TRaveText; M87 := RvProject1.ProjMan.FindRaveComponent('Text67',MyPage) as TRaveText; if aq_spq106.FieldByName('s106_02').AsString='30166' then begin M8.Visible := False;←執行到此處就錯了 M87.Visible := True; end else begin M87.Visible := False; M8.Visible := True; end; RvProject1.Execute; finally RvProject1.Close; aq_print.close; end; end; |
eaglepan
一般會員 發表:2 回覆:4 積分:1 註冊:2002-04-03 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |