Tengo un informe de access 2000 que trabaja sobre una consulta que requiere de un parametro para devolver los datos buscados. Al ejecutar el codigo que os pongo a continuacion me aparece la tipica ventana que me lo solicita y lo que soy incapaz de consegir es pasarle el parametro mediante codigo.
Este codigo es un fragmento que encontre buscando como solucionar el problema por internet que lo que hace es exportar el informe y luego mostrarlo en un formulario. Esta creado por Juan M Afán de Ribera y en este enlace se puede encontrar completo http://accessvbafaq.mvps.org/item.asp?pagina=97.
Código:
Private Sub Command1_Click()
' en este procedimiento exportamos el informe
' seleccionado en el ListBox
Dim ObjectType As Integer
Dim ReportName As String
Dim ExportFormat As String
Dim SNPFile As String
Dim OnlyOnce As Boolean
If Me.List1.ListIndex > -1 Then
' tipo de objeto (acReport)
ObjectType = 3 'acOutputReport
' nombre del informe
ReportName = Me.List1.Text
' formato al que se exportará el informe
ExportFormat = "Snapshot Format (*.snp)"
' nombre y ruta del archivo que se exportará
SNPFile = App.Path & "\" & Me.List1.Text & ".snp"
On Error GoTo err_OutputTo
' exportamos el informe seleccionado al formato
' snapshot
oApp.DoCmd.OutputTo ObjectType, ReportName, ExportFormat, SNPFile
' cargamos el formulario donde se visualizarán los informes
Load Form2
' le ponemos el nombre del informe que se mostrará
Form2.Caption = "Informe: " & List1.Text
' vinculamos el archivo que hemos exportado con el visor
' de archivos Snapshot
Form2.SnapshotViewer1.SnapshotPath = SNPFile
' eliminamos el archivo
Kill SNPFile
' mostramos el formulario
Form2.Show
' hacemos que el informe se ajuste al tamaño del formulario
Form2.SnapshotViewer1.Zoom = snapZoomToFit
Else
MsgBox "Escoge un informe", vbExclamation, "Atención"
End If
Exit Sub
err_OutputTo:
If OnlyOnce = False Then
' si el formato snapshot no está disponible
If Err = 2282 Then
' si se han podido cambiar las entradas erróneas del registro
If ChangeReg Then
' reiniciaremos la aplicación Access para que los cambios
' surtan efecto
Call ResetAccess
' volvemos a intentarlo
OnlyOnce = True
Resume
Else
MsgBox "Ha ocurrido un error imprevisto"
End If
Else
MsgBox "Error: " & Err.Number & vbCrLf & vbCrLf & Err.Description
End If
Else
' por alguna razón esto no tira :-S
MsgBox "No se puede ejecutar el ejemplo"
End If
End Sub
Mediante appAccess.DoCmd.OpenReport "NOMBREINFORME", acViewPreview, , PARAMETRO se como pasarle el parametro al informe pero no se si sera posible hacerlo con la linea de codigo que usa este ejemplo ya que creo que exporta el informe sin llegar a abrirlo oApp.DoCmd.OutputTo ObjectType, ReportName, ExportFormat, SNPFile
Me puede explicar alguien como hacerlo?
Gracias.