576 messaggi dal 30 aprile 2003
Chi lo sa è un GENIO.

Ho bisogno di estrarre dei dati utilizzando Crystal Report, ma in maniera dinamica: ho visto un esempio dove viene utilizzato il "RecordSelectionFormula" dell'oggetto Report, ma come faccio a costruire dinamicamente le condizioni di ricerca, con una sintassi del genere???

session("oRpt").RecordSelectionFormula = CStr("{nomeTabella.nomeCampo} = 'valore'")


Cioé, se io gli passo alla pagina ASP la mia query (attraverso un Request), come fa a generare una sintassi come nell'esempio per ogni condizione??? E' impossibile!!!

Qualsiasi aiuto è ben accetto! Grazie

Prima o poi diventerò un guru!
60 messaggi dal 10 ottobre 2003
www.duegiweb.it
Ho fatto un lavoro in crystal report per il Comune di Milano un pò di tempo fa e il codice non me lo ricordo con esattezza ma nel tuo caso

dovrebbe esistere un metodo dell'oggetto oRpt tipo
oRpt.SQL a cui passi direttamente la SQL da asp con i filtri che ti interessano già inseriti

Questa formula
session("oRpt").RecordSelectionFormula = CStr("{nomeTabella.nomeCampo} = 'valore'")

Va bene se devi modificare delle variabili interne a Crystal Report per modificare eventualmente il layout ma per lavorare su DB è meglio se trovi la soluzione passandogli la SQL direttamente e sò che si può fare

Ciao
Eventualmente se riesco a recuperare il codice utilizzato te lo posto


Fausto
576 messaggi dal 30 aprile 2003
Ciao Fausto,
grazie mille per la risposta!

In effetti esiste la proprietà SQLQueryString dell'oggetto Report.

Il problema è che ho trovato un esempio funzionante con Access, ma con Oracle non riesco a farlo funzionare!!! (cioé mi ignora la query parametrizzata che gli passo alla pagina ASP, e mi estrae TUTTI i record incondizionatamente)

Tu avevi lavorato con Oracle?
Se sì ti prego di aiutarmi... sei la mia ancora di salvezza!!!

Ciao

Prima o poi diventerò un guru!
60 messaggi dal 10 ottobre 2003
www.duegiweb.it
Si Avevo lavorato con fonte dati in Oracle
ma non avevo usato query parametrizzate ma delle view che mi erano state asssegnate dal committente e quindi non dovevo fare altro che filtrarle con semplici WHERE ID = 3 ecc....

ti devo confessare che avendo lavorato con una delle prime versioni degli oggetti di crystal report per il web ho avuto parecchi problemi prima di riuscire a faro funzionare.

Se proprio non riesci a venirne a capo provo a contattare la ditta dove ho lavorato per farmi dare la parte del sorgente per la chiamata a cristal report collegato a Oracle

Ciao


Fausto
576 messaggi dal 30 aprile 2003
Ciao Fausto,
ma nel Crystal Report (intendo proprio nel file .RPT) quando specifichi la connessione, devi selezionare tutti i campi, giusto?
In questo modo mi fa una SELECT * ... basandosi su quella connessione. Ma perché mi IGNORA la connessione che specifico dal file ASP (e di conseguenza la query parametrizzata)?

Questa è la mia pagina ASP, puoi dargli un'occhiata veloce? Riesci a trovare qualche errore?

<%@ LANGUAGE="VBSCRIPT" %>

<%
'===================================================================================
' WORKING WITH THE REPORT DESIGNER COMPONENT AND ASP TO SET A REPORT'S QUERY STRING
'===================================================================================
'
' CONCEPT                                                             
'                                                                     
'  ALWAYS REQUIRED STEPS (contained in AlwaysRequiredSteps.asp)
'   - create the application object                                
'   - create the report object                                     
'   - open the report                                              
'
'  SETTING A REPORT'S QUERY STRING
'   - access and set the report's SQLQueryString property
'
'  MORE ALWAYS REQUIRED STEPS (contained in MoreRequiredSteps.asp)
'   - retreive the records                                         
'   - create the page engine 
'
'  DISPLAY THE REPORT
'   - display the report using a smart viewer
'==================================================================
%>

<%
' This line creates a string variable called reportname that we will use to pass
' the Crystal Report filename (.rpt file) to the OpenReport method contained in 
' the AlwaysRequiredSteps.asp.

reportname = "rptFaxInviati.rpt"
%>

<%
'==================================================================
' ALWAYS REQUIRED STEPS
'
' Include the file AlwaysRequiredSteps.asp which contains the code    
' for steps:
'   - create the application object
'   - create the report object
'   - open the report
'==================================================================
%>                                                                     
<!-- #include file="AlwaysRequiredSteps.asp" -->                       

<%
'==================================================================
' SETTING A REPORT'S SQL QUERY STRING
'==================================================================
StrConnection = "DSN=miao;UID=miao;PWD=miao;"
Set oADOConnection = Server.CreateObject("ADODB.Connection")
oADOConnection.Open StrConnection

Set oADORecordset = Server.CreateObject("ADODB.Recordset")
strSQL = Request("strSQL") 'query parametrizzata
Set oADORecordset = oADOConnection.Execute(strSQL)

session("oRpt").SQLQueryString = Cstr(strSQL)
'This line of code sets the SQLQueryString property to the value of 
'the string variable NewQueryString.
%>

<%
'==================================================================
'
'  MORE ALWAYS REQUIRED STEPS
'
'  Include the file MoreRequiredSteps.asp which contains the code
'  for the steps:
'   - retreive the records                                         
'   - create the page engine                                       
'   - create the smart viewer and point it to rptserver.asp
'
'==================================================================
%>
<!-- #include file="MoreRequiredSteps.asp" -->

<%
' INSTANTIATE THE REPORT VIEWER
'
'When using the Crystal Reports in an ASP environment, we use
'the same page-on-demand Report Viewers used with the Crystal Web Component Server.
'There are six Report Viewers:
'
'1.  Report Viewer for ActiveX
'2.  Report Viewer for Java using Browser JVM
'3.  Report Viewer for Standard HTML with Frames
'4.  Report Viewer for Standard HTML
'5.  Report Viewer for Java Using Java Plugin
'6.  Report Viewer for Netscape Plug-in (ActiveX)
'
'The Report Viewer that you use will based on the browser's display capablities.
'For Example, you would not want to instantiate one of the Java viewers if the browser
'did not support Java applets.  For purposes on this demo, we have chosen to
'define a viewer.  You can through code determine the support capabilities of
'the requesting browser.  However that functionality is inherent in the Crystal
'Reports RDC and is beyond the scope of this demonstration application.
'
'We have chosen to leverage the server side include functionality of ASP
'for simplicity sake.  So you can use the SmartViewer*.asp files to instantiate
'the smart viewer that you wish to send to the browser.  Simply replace the line
'below with the Smart Viewer asp file you wish to use.
'
'The choices are SmartViewerActiveX.asp, SmartViewerJava.asp, JavaPluginViewer.asp,
'ActiveXPluginViewer.asp. SmartViewerHTMLFrame.asp, and SmartViewerHTMLPAge.asp.
'Note that to use this include you must have the appropriate .asp file in the 
'same virtual directory as the main ASP page.
'
'*NOTE* For SmartViewerHTMLFrame and SmartViewerHTMLPage, you must also have
'the files framepage.asp and toolbar.asp in your virtual directory.


'=============================================================================
'  DISPLAY THE REPORT
'   - display the report using a smart viewer
' 
' Include one of the Smart Viewers.
'  - Report Viewer for ActiveX      =   SmartViewerActiveX.asp
'  - Report Viewer for Java using Browser JVM  =   SmartViewerJAVA.asp
'  - Report Viewer for Standard HTML    =   SmartViewerHTMLPage.asp
'  - Report Viewer for Standard HTML w/ Frames  =   SmartViewerHTMLFrame.asp
'  - Report Viewer for Java Using Java Plugin  =   JavaPluginViewer.asp
'  - Report Viewer for Netscape Plug-in    =   ActiveXPluginViewer.asp
'=============================================================================
%>
<!-- #include file="SmartVieweractivex.asp" -->                    

Prima o poi diventerò un guru!
576 messaggi dal 30 aprile 2003
Ti prego Fausto, aiuto...

Anche se tu hai utilizzato una view, e io una query parametrizzata, non dovrebbe cambiare nulla... il problema infatti è che mi viene ignorata la connessione specificata nella pagina ASP, di conseguenza anche la query viene ignorata!

E nel file .RPT cosa va specificato esattamente? Se tolgo la connessione dal file report, non mi visualizza nulla!

Aiuto...


Prima o poi diventerò un guru!
60 messaggi dal 10 ottobre 2003
www.duegiweb.it
Ciao

Scusa ma come ti ho detto è passato molto tempo da quando ho fatto il lavoro.
Adesso mando un'email alla ditta e vedo di farmi mandare del sorgente
da inviarti




Fausto
576 messaggi dal 30 aprile 2003
Addirittura

Grazie, mi sarebbe di enorme aiuto!

Ciao

Prima o poi diventerò un guru!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.