驴ALGUIEN SE ATREVE CON ESTO?

papakino
07 de Abril del 2005
Hola a todos:

Hace d铆as que consulto este tema en diversos sitios y, hasta hoy, nadie ha hecho funcionar este informe ni me ha sab铆do decir por qu茅 act煤a as铆 ni c贸mo hacer que act煤e bien. Reto a cualquiera a que lo "haga andar bien" :

Resulta lo siguiente : Tengo una serie de campos text.tex para introducir datos; una serie de radiobutton para seleccionar opciones, dos calendarios para meter las fechas y dos botones : uno "Aceptar" para ver el listado de la seleccion en un dbgrid y el otro "Imprimir" para imprimir dicha selecci贸n, todo esto lo tengo dentro de un mismo formulario.

El c贸digo ENTERO del Bot贸n "Aceptar", para ver el listado por el dbgrid del formulario, es el siguiente: (tener en cuenta que trabajo con el DATA y no con el ADODC, por motivos de instalaci贸n s贸lo puedo emplear el DATA) :

Primero selecciono el radiobutton "Ingresos", selecciono en los dos calendarios las fechas de comienzo y fin de listado y pincho en el bot贸n "Aceptar". Este es el c贸digo de ese bot贸n:

If Option1.Value Then
Dim sql As String
Dim Rs As Recordset
Dim FecIni As String
Dim FecFin As String
Dim dbcrono As Database

Set dbcrono = OpenDatabase(App.Path & "apuntes.mdb")

FecIni = Month(FechaIni.Value) & "/" & Day(FechaIni.Value) & "/" & Year(FechaIni.Value)
FecFin = Month(FechaFin.Value) & "/" & Day(FechaFin.Value) & "/" & Year(FechaFin.Value)

' opcion para sumar un campo de una base de datos

sql = "Select * From apuntes Where tipo = 'Ingresos' And Fecha Between #" & FecIni & "# And #" & FecFin & "# Order By Fecha"
Set Rs = dbcrono.OpenRecordset(sql)


Do While Not Rs.EOF
Text8.Text = Format(Text8.Text, "###,###,##0.00")
campo = campo + Rs!importe
Text8.Text = campo

Rs.MoveNext
Loop

Data1.RecordSource = ""
Data1.RecordSource = sql
Data1.Refresh


If Data1.Recordset.RecordCount = 0 Then
MsgBox "No Existe Informaci贸n con ese Rango de Fecha...Verifique Por Favor", vbInformation, "Informaci贸n Listado"
End If
DBGrid1.Refresh
End If

Hasta aqu铆, todo bien, me saca el filtrado de registros por el dbgrid sin ningun problema y cuantas veces quiera.Perfecto. Pero si ahora le doy al bot贸n imprimir para ver el resultado por la impresora, el c贸digo ser铆a el que pongo a continuaci贸n y lo que me ocurre es lo siguiente:

(al Crystal Report le he llamado "informeingresos", y al dise帽o del formulario "lisingresos")

(c贸digo del bot贸n "Imprimir")


InformeIngresos.ReportFileName = App.Path & "lisingresos.rpt"
InformeIngresos.WindowTitle = "LISTADO DE INGRESOS ENTRE FECHAS"
InformeIngresos.Destination = crptoWindow
InformeIngresos.PrinterName = Printer.DeviceName
InformeIngresos.SQLQuery = "Select * From apuntes Where tipo = 'Ingresos' And Fecha Between #" & FecIni_1 & "# And #" & FecFin_1 & "# Order By Fecha"
InformeIngresos.Action = 1

Haci茅ndolo de esta manera, si en la propiedad ReportSource del CrystalReport selecciono el "0" (cero, crptReport), entonces me saca MI INFORME, el que yo he dise帽ado, pero CON TODOS LOS REGISTROS DE LA BASE DE DATOS, es decir, sin tener en cuenta ni fechas de selecci贸n ni radiobutton "Ingresos" seleccionado ni nada de nada.

Si en dicha propiedad selecciono el "3" (crpt Datacontrol) entonces me saca la selecci贸n solicitada pero con un dise帽o DISTINTO al que yo hab铆a creado, como si el Crystal report hubiera generado un informe por su cuenta y, adem谩s, me saca TODOS los campos de la base de datos, no s贸lamente los que yo hab铆a seleccionado o dise帽ado para hacer mi informe. 驴驴驴...???. Es decir, la selecci贸n entre fechas e ingresos me la hace bien pero me saca un dise帽o de informe que no es el mio ni s茅 de d贸nde lo ha sacado. 隆隆 Qu茅 cosas m谩s raras 隆隆

驴Tan dificil es sacar un listado por una impresora?. Yo creo que, al menos en Clipper(yo he programado mucho en clipper) funciona la cosa as铆, que con decirle o darle una instrucci贸n tiene que funcionar, es decir, que para hacer determinada cosa en concreto tiene que haber una serie de pasos en concreto : Tal propiedad seleccionada de tal forma; tal otra,seleccionada de tal otra forma; abrir tal base de datos, cerrar tal otra...hacer tal selecci贸n...ordenar imprimir...no s茅...pasos concretos.

Yo, por ejemplo, en clipper, para hacer "modificaciones" de registros, que es realmente lo m谩s engorroso que hay, como son pasos concretos pero muy largos y muy detallados, tengo hechas mis plantillas y s贸lo tengo que cambiar los nombres de campo de la nueva base de datos que est茅 empleando, pero el resto de operaciones y el resto de acciones a llevar a cabo para modificar ese registro es siempre igual. Copio la plantilla, modifico los nombres de campos y sus posibles formatos, y asunto arreglado. Lo pego en el c贸digo del nuevo programa y arreglado el tema.

En f铆n, se帽ores, que, como veis, estoy frenado y no s茅 c贸mo hacer para que me saque mi "verdadero" informe y que me acepte la selecci贸n hecha. He probado tambien a hacerlo con el DataReport pero por lo visto, el tema de las fechas tambien "tiene sus problemillas".

Espero vuestra ayuda, si es que me la podeis prestar. Si la soluci贸n la veis m谩s f谩cil con el Data Report, no tengo problemas en cambiar, por supuesto. De hecho, alg煤nos otros listados de este mismo programilla los tengo hechos con el Data Report, pero este de los "ingresos" lo estoy haciendo con el Crystal Report y no hay manera de sacarlo.

Muchas gracias por todo y espero vuestra posible ayuda : 隆隆 me encuentro totalmente paralizado y frenado 隆隆. Much铆simas Gracias.

Si alguien me quiere mandar la soluci贸n a mi correo, encantado, no tengo ning煤n problema. Repito : Much铆simas gracias, de verdad.