Crear un informe con una fórmula de selección
En esta sección, va a crear un informe que obtenga su información de la base de datos de ejemplo de Microsoft Access que se incluye con Crystal Reports.
Para crear un informe con datos seguros de la base de datos de ejemplo xtreme
En el Explorador de soluciones, haga clic con el botón secundario en el nombre de proyecto en negrita, elija Agregar y, a continuación, haga clic en Agregar nuevo elemento.
En el cuadro de diálogo Agregar nuevo elemento, en la vista Plantillas, seleccione la plantilla Crystal Report.
En el campo Nombre, especifique el nombre "CustomersBySalesName.rpt" y haga clic en Agregar.
Si no se ha registrado anteriormente, se le pedirá que se registre. Para saber cómo registrarse, vea [Código de clave de producto y número de registro de Crystal Reports](ms225341\(v=vs.90\).md).
En el panel Crear un nuevo documento de Crystal Report del cuadro de diálogo Galería de Crystal Reports, seleccione Usar asistente de informes.
En el panel Elegir un Asistente, seleccione Estándar y, a continuación, haga clic en Aceptar.
En el panel Orígenes de datos disponibles de la ventana Asistente para la creación de informes estándar, expanda la carpeta Crear nueva conexión.
En la subcarpeta que se abre, expanda la carpeta ODBC (RDO).
En el cuadro de diálogo ODBC (RDO), seleccione la entrada ODBC DSN correcta para su versión de Crystal Reports, como se explica en Entrada ODBC DSN para la base de datos de ejemplo Xtreme y, a continuación, haga clic en Finalizar.
Se expandirá la carpeta ODBC (RDO) y mostrará la base de datos de ejemplo Xtreme.
Expanda el nodo Tablas, haga doble clic en la tabla Cliente para moverla al panel Tablas seleccionadas y, a continuación, haga clic en Siguiente.
Expanda la tabla Cliente y, a continuación, mantenga presionada la tecla Ctrl y haga clic en Nombre del cliente y Ventas del año pasado.
Haga clic en el símbolo > para mover estos campos al panel Campos a mostrar y, a continuación, haga clic en Siguiente.
En el panel Campos disponibles, en Campos del informe, haga doble clic en Cliente.Nombre del cliente para mover el campo al panel Agrupar por y, a continuación, haga clic en Finalizar.
Se crea el informe CustomersBySalesName y se carga en la ventana principal de Visual Studio.
Para crear una fórmula de selección basada en las ventas del año pasado
Después, cree una fórmula de selección para filtrar los datos basándose en el valor del campo Ventas del año pasado.
Abra el formulario Web Forms o Windows Forms.
En el menú Ver, haga clic en Código para ver la clase de código subyacente de Web Forms o Windows Forms.
Para un sitio Web, en el método ConfigureCrystalReports() (que ha creado en Configuración de proyectos), cree un bloque condicional Not IsPostBack.
<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images\z15yzzew.alert_note(es-es,VS.90).gif" class="note" />Nota</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>El bloque condicional Not IsPostBack encapsula el código que se debería ejecutar sólo la primera vez que se carga la página.</p></td>
</tr>
</tbody>
</table>
``` vb
If Not IsPostBack Then
End If
```
``` csharp
if(!IsPostBack)
{
}
```
- Para un sitio Web, agregue las siguientes líneas de código en el bloque condicional Not IsPostBack. Para un proyecto Windows, agregue el código al método ConfigureCrystalReports(), sin el bloque condicional Not IsPostBack.
1. Especifique la fórmula para seleccionar sólo los registros cuyo valor del campo Ventas del año pasado sea mayor que $11000,00 y cuyos nombres de clientes empiecen por la letra "A".
``` vb
Dim mySelectFormula As String = "{Customer.Last Year's Sales} >
11000.00 " _
& "AND Mid({Customer.Customer Name}, 1, 1) = ""A"" "
```
``` csharp
string selectFormula = "{Customer.Last Year's Sales} > 11000.00
"
+ "AND Mid({Customer.Customer Name}, 1, 1) = \"A\"";
```
2. Asigne la cadena de la fórmula de selección a la propiedad SelectionFormula del control CrystalReportViewer.
``` vb
myCrystalReportViewer.SelectionFormula = mySelectFormula
```
``` csharp
crystalReportViewer.SelectionFormula = selectFormula;
```