Crystal Report

Hola, quisiera saber cómo desde el visual basic puedo pasarle parámetros al crystal, por ejemplo:
Yo tengo un formulario donde tengo una fecha y un nombre y quiero que en el informe me ponga esos datos que el usuario ha introducido en el formulario, y que además me muestre un resumen entre 2 fechas dadas.

1 respuesta

Respuesta
1
Siento el retraso
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 pones la consulta que deseas hacer que sera los datos del formulario.
'lo de las dos fechas es facil en la consultas pones
select resumen from tabla where fecha>=#" & text1.text & "#" & " and fecha<=#" & text2.text & "#"
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
Private Sub imprimir()
CrystalReport1.Destination = 0 'para mandar a impresora
CrystalReport1.ReportFileName = "v:\Conta\conta_imprimir.rpt" 'ubicacion del informe
CrystalReport1.DiscardSavedData = True 'para que se actualizen los datos
CrystalReport1.WindowState = crptMaximized 'maximiza la ventana
CrystalReport1.Action = 2 'accion de imprimir
End Sub
Bueno Espero que te ayude y perdona de nuevo por el retraso.
Suerte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas