ADO y crystal report

Existe algua forma de mandar a CRYSTAL REPORT 8 el dontenido de un recordset o de un datagrid. Lo que quiero es pasar lo que tengo en una grilla a Crystal report.

1 Respuesta

Respuesta
1
Pues a ver yo hago lo siguiente me creo una tabla una copia de la estructura solamente de la tabla de donde hago la consulta y después pongo el siguiente código en el botón iprimir
Private Sub Command2_Click()
'Borra todos los valores almacenados en la tabla utilizada para imprimir
Dim Borrar As Database
Set Borrar = OpenDatabase("v:\Conta\Conta.mdb")
Borrar.Execute "delete * from conta_imprimir"
Borrar.Close
'Inserta los valores de la consulta que queremos en la tabla para imprimir
Dim insertar As Database
Set insertar = OpenDatabase("v:\Conta\Conta.mdb")
'puedes poner cualquier consulta con condiciones
'aqui es donde se introduce la consulta,la cual mostrara los datos a datagrid y posteriormente los que se manden a Crystal.
Data8.RecordSource = "Select * from conta where codigo='" & Text1.Text & "'" & "and Fecha_apun=#" & DBCombo4.Text & "#"
Data8.Refresh
With Data8.Recordset
.MoveFirst
Do
'aqui es donde se insertan los datos de la consulta en la tabla creada "conta_imprimir" insertar.Execute "insert into conta_imprimir(Codigo,Titulo,Fecha_apun,Documento,Linea,Con,Comentario,D,Importe,Debe,Haber,Saldo)" & _
"values ('" & .Fields("Codigo") & "','" & .Fields("Titulo") & "','" & .Fields("Fecha_apun") & "','" & _
.Fields("Documento") & "','" & .Fields("Linea") & "','" & .Fields("Con") & "','" & _
.Fields("Comentario") & "','" & .Fields("D") & "','" & .Fields("Importe") & "','" & _
.Fields("Debe") & "','" & .Fields("Haber") & "','" & .Fields("Saldo") & "')"
.MoveNext
Loop Until .EOF
End With
insertar.Close
'Manda a imprimir la tabla para imprimir
Data8.RecordSource = "select * from conta_imprimir"
Data8.Refresh
If Data8.Recordset.AbsolutePosition = -1 Then
MsgBox "NO HAY DATOS"
Else
imprimir
End If
End Sub
CrystalReport1.Action = 2 'accion de imprimir
End Sub
Bueno Espero que te ayude
Suerte y Saludos
Gracias, todo esta bien, pero el problema que surge es que cuando realizo operaciones(no necesariamente aumentar la cantidad de registros) con access el archivo va creciendo de tamaño, a menos de abra el archivo en access y lo "Repare y Compacte", dime hay alguna forma de reparar y compactar mediante código en visual basic, o en todo caso como hacer para evitar que el achivo de la BD de access crezca tan rapido. Gracias
Gracias por la respuesta. Cuando uno realiza operaciones en access ya sea de agregar, quitar o simplemente modificar un registro, por más que la cantidad de registros sea la misma o incluso menor el tamaño(kb o Mb) de la base de datos va a crecer ya que siempre se crea una especie de historial en la BD de access, es algo así como una pequeña basurilla, la cual si quieres que desaparezca tendrás que "reparar y compactar", así la BD tomara su tamaño real, eso es lo que pasa cuando uno realiza operaciones en la BD, me he enterado que con DBEnginee(o algo así) se puede reparar y compactar mediante código en VB sin necesidad de ir a access, pero no se como se usa, no se si tu sabes algo al respecto y me puedas ayudar. Voy a revisar las páginas que me mandas a ver si encuentro algo. Gracias nuevamente.
Perdona mi torpeza pero no entiendo lo de que crece de tamaño cuando realizas ciertas operaciones ¿? ¿?.
Si haces operaciones de insertar registros la BD deberá aumentar, eso no se puede evitar, poidrias explicarte un poco mejor.
Sobre lo de compacttar o reparar nunca lo he probado, mira en estas páginas y puede que encuentres algo.
http://www.softonic.com , http://www.lawebdelprogramador.com , http://www.espaware.com
http://guille.costasol.net
Siento no poder ayudarte mejor con eso pero espero que encuentres lo que buscas en esas página
Suerte y ya sabes, para lo que necesites

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas