Abrir distintos formularios en función de un campo de una consulta

No se mucho de access ni de programación, estoy intentando crear una macro que me imprima unas etiquetas:
Ejecuto una consulta sobre una base de datos, y en función del valor de uno de los campos"cod_agencia", necesito imprimir una etiqueta u otra, tantas veces como el valor de otro campo "paquetes".
La consulta se llama "consulta", los campos "cod_agencia" y "paquetes"
si el cod_agencia =02 o 10 debe imprimir el informe "agencia"
si el cod_agencia<> 02 y <>10 debe imprimir el informe "informe".
He creado esta, pero no funciona correctamente, me imprime la etiqueta, pero la que no corresponde, la imprime igualmente pero en blanco,

Function Macro11()
On Error GoTo Macro11_Err

DoCmd.OpenQuery "Consulta", acViewNormal, acReadOnly
DoCmd.OpenReport "informe", acViewNormal, "", "[Consulta]![COD_AGENCIA]<>'02' And [Consulta]![COD_AGENCIA]<>'10'", acNormal
DoCmd.OpenReport "agencia", acViewNormal, "", "[Consulta]![COD_AGENCIA]='02' Or [Consulta]![COD_AGENCIA]='10'", acNormal
DoCmd.Close acMacro, "Macro1"

Macro11_Exit:
Exit Function

Macro11_Err:
MsgBox Error$
Resume Macro11_Exit

End Function

1 respuesta

Respuesta
2

En principio no le veo la necesidad de abrir la consulta, pues si en ella tienes puestos los criterios basta que con ella hagas el informe de etiquetas y en algún evento poner docmd.openreport"... sin criterios

Otra forma sería poner en el evento Al cargar del informe

report.recordsource="select * from nombreconsulta"

Como dije, siempre y cuando los criterios vayan en la consulta.

En fin ¿podrías poner una imagen del diseño de la consulta? Es para hacerse una idea mejor.

 en la consulta introduzco el numero de albarán y me devuelve la información del mismo.

Como te decía no sé como tienes construida la base, pero a la vista de la consulta, casi te diría que no es necesario hacer la consulta. Supongamos que en un formulario pones un botón de comando y en el evento Al hacer clic pones

docmd.openreport"nombreinforme",,,"numero  like [Escriba un numero de albarán] and paquete like [escriba el numero de paquetes]" y así no tienes que estar escribiendo nada cuando abras la consulta.

Por otro lado, si el informe lo haces con la consulta, simplemente cuando lo vayas a abrir ya te preguntará esos valores que tendrías que escribir para abrir la consulta.

De todas formas, si quieres, mándame un mensaje a [email protected] y te mando un par de ejemplos. Si lo haces, en el asunto el mensaje pon tu alias Josep maria, ya que si no sé quien me escribe ni los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas