Ver Mensaje Individual
  #6 (permalink)  
Antiguo 04/04/2005, 14:44
Avatar de Myakire
Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Lo más fácil, es modificar el archivo report.asp. Aquí un ejemplo que funciona:

Código:
<%@ LANGUAGE="VBSCRIPT" %>
<title>Crystal Reports ASP Example - Changing a Formula Field value</title>
<%
'=============================================================================
' WORKING WITH THE REPORT DESIGNER COMPONENT AND ASP TO CHANGE A FORMULA FIELD
'=============================================================================                                                             
' CONCEPT

'   Once we have created the report object (oRpt), we can then 
'   gain access to such things the "Formula Fields" collection 
'   contained in  that report.  This is done through the 
'   FormulaFields collection.  
'   Since it is a collection, to gain access to a specific item 
'   in the collection, we use its index (1 based).  Once we can 
'   refer to a particular formula in the collection, we can modify
'   its value.                                                           
'                                                                     
'  ALWAYS REQUIRED STEPS (contained in AlwaysRequiredSteps.asp)
'   - create the application object                                
'   - create the report object                                     
'   - open the report                                              
'
'  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
'==================================================================

'==================================================================
' 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
'==================================================================
%>                                                                     

<%
   ReportName = "PedidoCompra.rpt"

'This line creates a string variable called reportname that we will use to pass
'the Crystal Report filename (.rpt file) to the OpenReport method.
'To re-use this code for your application you would change the name of the report
'so as to reference your report file.

%>

<!-- #include file="AlwaysRequiredSteps.asp" -->                       

<%
'==================================================================
' If it is easier to understand, simply delete the line above, and    
' replace it with the entire contents of the file                     
' AlwaysRequiredSteps.asp                                             
'==================================================================


'==================================================================
' WORKING WITH SETLOGONINFO
'
' The datasource here is called "Automation".  It is a System 
' Datasource, and points to the "pubs" database, which is installed
' with SQL Server. You will also need to change your user id and
' password.

userid = "xxx"
password = "yyy"

session("oRpt").MorePrintEngineErrorMessages = False
session("oRpt").EnableParameterPrompting = False

Set mainReportTableCollection = Session("oRpt").Database.Tables
For Each Table in mainReportTableCollection
     Table.SetLogonInfo "10.1.1.1", "Compras", CStr(Userid), CStr(Password)
Next

'==================================================================

'==================================================================
' WORK WITH FORMULAS
'==================================================================
'   a. create a session varuable

Set FormulaFieldCollection = Session("oRpt").formulafields            

'   b. create the session variable, in this case oFFC, and point
'      it to the collection of formulas in the report 
'      (FormulaFieldCollection)   
                                                                     
set session("oFFC") = FormulaFieldCollection                          
                                                                   
'   c. point that session variable to a specific index in the       
'      collection                                                   
                                                                      

session("oFFC").Item(10).text = "'"&request.form("numpedido")&"'"						 'aNumPedido
session("oFFC").Item(16).text = "'"&request.form("hidLugar")&"'" 						 'aLugarRecepcion
session("oFFC").Item(17).text = "'"&request.form("hidresponsable")&"'"			 'aResponsable
session("oFFC").Item(18).text = "'"&request.form("hidTelefono")&"'"					 'aTelefono
session("oFFC").Item(19).text = "'"&request.form("numreporte")&"'" 					 'aTipoReporte
               
'==================================================================



'==================================================================
'
'  MORE ALWAYS REQUIRED STEPS
'   - retreive the records                                         
'   - create the page engine                                       
'   - create the smart viewer and point it to rptserver.asp
'
'==================================================================
%>

<!-- #include file="MoreRequiredSteps.asp" -->

<%
'Response.Write("Error returned: " & err.number & " meaning: " & Err.Description) 
'==================================================================
' If it is easier to understand, simply delete the line above, and    
' replace it with the entire contents of the 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 app.
'
'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" -->                    

<%      
                                                                
'==================================================================
' If it easier for you to conceptualize this code by seeing it all
' contained in a single file, simply delete the line above, and
' replace it with the entire contents of the file being included.
'==================================================================

%>