Tengo 2 cajas de texto donde ingresar fechas ¿Mi sentencia seleccionará los valores?

Tengo dos cajas de texto en la que ingresare fechas ejemplo (01/09/2008 y 03/09/2008) mi sentencia (la que esta debajo) me hará la selección tomando los valores de las cajas de texto:
Ssql = "Select tipo_doc, num_doc, fecha, codigo, unidad, descripcion, ingreso, prec_unit, prec_parc From Ingreso_mat Where Fecha between CDATE('" & Text9.Text & "') and CDATE('" & Text10.Text & "')ORDER BY Num_doc ASC;"
Ahora mi problema viene al momento de asignar a esta sentencia (aquí abajo)
DataEnvironment1.rsCommand2_Grouping. Open Ssql, Cnn, adOpenDynamic, adLockPessimistic
cuando lo ejecuto y me tiene que generar el informe agrupado por tipo documento me sale que "No se encontro el datafield conmand2.codigo", esto lo hago desaparecer colocando en el DataMember de cada campo "Conmand2.Grouping" pero ahora me sale otro error "Las secciones del informe no coinciden con el origen de datos" la verdad no se hacer ya intente con lo poco que se pero nada.

1 respuesta

Respuesta
1
Hace tiempo trabajé reportes con el DataReport en combinación con el DataEnvironment, pero me di cuenta que está muy limitado el campo de acción del DataReport [no quiero decir que no sirva, sino que es de mucha utilidad para reportes sencillos y rápidos].
Muchas veces tuve el mismo error que el tuyo sin que nadie pudiera ayudarme, pero al final pude resolverlo y ahora te lo comento:
Sucede que cuando creas un "comando agrupado", la estructura del DataReport cambia, es decir, ahora no solo tiene "Encabezado de informe", "Encabezado de página", "Detalle", "Pie de página" y "Pie de informe", sino que ahora también se ha agregado una nueva sección que es "Encabezado de grupo" y "Pie de grupo" quedando la jerarquía de la siguiente forma:
* Encabezado de informe
    * Encabezado de página
        * Encabezado de grupo
            * Detalle   
        * Pie de grupo
    * Pie de página
* Pie de informe
Si al DataReport le hace falta o le sobra una sección enviará el mensaje de error "Las secciones del informe no coinciden con el origen de datos", te preguntarás ¿pero cómo es que sucede esto si yo he formulado bien mi sentencia SQL?, la respuesta es: tu sentencia SQL no contiene elementos que generen campos agrupados, es decir, el resultado sería un DataReport simple, es decir, uno que no contiene la sección "Encabezado de grupo" y "Pie de grupo", es por eso que te envía ese error. Ahora la pregunta es ¿Cómo puedo solucionarlo?, simple, abre tu DataEnvironment y da clic derecho sobre el comando que utilizas para generar el informe y elige "Info de jerarquía" y te mostrará la sentencia SQL que permite enlazar un informe con elementos agrupados, sería algo como esto:
"SHAPE  {select * from authors} 
APPEND ({select * from titleauthor} AS 
chapter 
RELATE au_id TO au_id)"

Ahora bien, suponiendo que tu DataReport es correcto [tiene las secciones que debe tener] entonces sólo usar una sentencia SQL similar a la anterior. Si tienes dudas, puedes darme más datos para así ser más preciso en mi respuesta.
Saludos desde México. Juan Pablo E.P.
Estas son mis lineas de programación y como te dije me genera el error por favor revísalo
Private Sub Calendar1_Click()
If Text9.Text = Empty Then
Text9.Text = Calendar1.Value
ElseIf Text10.Text = Empty Then
Text10.Text = Calendar1.Value
Ssql = "Select tipo_doc, num_doc, fecha, codigo, unidad, descripcion, ingreso, prec_unit, prec_parc From Ingreso_mat Where Fecha between CDATE('" & Text9.Text & "') and CDATE('" & Text10.Text & "')ORDER BY Num_doc ASC;"
DataEnvironment1.rsCommand2_Grouping.Open Ssql, Cnn
DataReport2.Show
Label11.Visible = False
Text9.Visible = False
Text9.Text = Empty
Label12.Visible = False
Text10.Visible = False
Text10.Text = Empty
Shape1.Visible = False
Calendar1.Visible = False
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas