Problema código para lanzar informe access

Buenas noches, me gustaría pedirle su ayuda para ver si me pueden ayudar.

Tengo un Formulario (FSeleccionFechIncorpora) con dos txtBox (txtDesde y txtHasta) y en el cmdSeleccionar el siguiente código:

Private Sub cmdSeleccionar_Click()

Dim resp As Integer
resp = MsgBox("¿Desea imprimir ahora?", vbQuestion + vbYesNo, "CONFIRMAR")
If resp = vbYes Then
DoCmd.OpenReport "InformeIncorpora"
Else
DoCmd.OpenReport "InformeIncorpora", acViewPreview
End If
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm "FMenu"
End Sub

El informe esta basado en una consulta sobre 2 tablas y con varios criterio y entre ellos en el campo FechAlta en el criterio tengo puesto lo siguiente (ya que no se filtrarlo en el botón):

>=[Forms]![FSeleccionFechIncorpora]![txtDesde].[value] Y <=[Forms]![FSeleccionFechIncorpora]![txtHasta].[value]

Al ejecutar el botón me da error en cualquiera de las dos líneas de apertura del informe.

Gracias por adelantado.

1 respuesta

Respuesta
1

¿Y cuál es el error que te da?

A priori te diría que compruebes si ese informe existe y/o si el nombre está bien escrito...

Tampoco dices si el error te lo da con los textboxs rellenos o vacíos, o uno sí y el otro no... Tendrás que hacer una comprobación de que ambos estén correctamente rellenados antes de lanzar el informe...

El error que da es 3071 en tiempo de ejecución. y señala cualquier linea de estas:

DoCmd.OpenReport "InformeIncorpora"

DoCmd.OpenReport "InformeIncorpora", acViewPreview

dependiendo de lo que elijas.

está expresión no esta escrita correctamente o es muy compleja para evaluarse. por ejemplo, una expresión numérica puede contener demasiados  elementos complicados. Intente asignar variables a partes de la expresión para simplificarla.

¿Por qué haces la relación entre las tablas de TDatos a TUsuarios, cuando la relación es al revés?

Las relaciones de la Bd están creadas de esta manera exigiendo integridad referencial y la eliminación en cascada etc..

Y así la cogió en la consulta esa.

No me cuadra. En la tabla de relaciones la flecha va de TUsuarios a Tdatos, en el mismo mentido que la relación uno a varios, mientras que en la consulta va al revés, de TDatos a TUsuarios, al revés que la relación uno a varios.

Modifica el sentido de la relación, cambiando las propiedades de la misma, y te debiera funcionar.
Si ejecutas directamente la consulta ¿te funciona o te da error?

Si he cambiado la relación de la consulta y si la ejecuto y pongo fechas que las pide me funciona pero a través del formulario no. Da error en las líneas de abrir el informe.

http://www.filebig.net/files/HrDcim2sf8 

Por si te aclara algo

No me deja abrir tu BD en el Access 2007 del trabajo, así que hasta la noche no lo podré mirar.

Mientras, prueba esto:

1º/ Modifica la relacion en la consulta de forma que no te aparezca la flecha (es decir, escoge la opción 1: mostrar los datos coincidentes en ambas o algo así)

2º/ Quita los criterios de fecha de la consulta e intenta abrirla desde el formulario, a ver si te abre el informe o no (el código es correcto, no veo dónde está el fallo, y por el msg de error, parecería que es cosa de la consulta)

Me vas diciendo

Buenas, como siempre gracias por tu ayuda.

Ya he modificado la relación de la consulta y si la ejecuto directamente funciona.

si lo quiero hacer sobre el codigo del botón da el error de siempre, es algo raro la verdad te paso el ejemplo simplificado y versión 2007 para cuando puedas no pasa nada.

http://www.filebig.net/files/vPEaiQjJjS 

Ya está, ya encontré el error:

Cambia, en las propiedades de los cuadros de texto txtDesde y txtHasta del formulario, la propiedad Formato de la pestaña Formato a "Fecha corta"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas