Access - Ayuda con impresión de informes

 
Vista:
sin imagen de perfil
Val: 8
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

Ayuda con impresión de informes

Publicado por Ruben (6 intervenciones) el 28/10/2019 22:40:01
Buenas noches, días, tardes.

Mi noción en Access es muy muy básica

Tengo una base de datos basada en partes de producción y etiquetado de productos por lotes, clientes, medidas, etc.
La creé hace 9 años con la ayuda de internet y un conocido de ese momento, esta ahora funciona bien aun con la falta de mejoras.
La putada a sido cuando un cliente me a dicho si le puedo cambiar la etiqueta y le he dicho que si y llevo 2 meses intentándolo

Bueno la cuestión es

Tengo un botón en un formulario que me imprime un informe el cual me hace una etiqueta de producto discriminándolo por numero de lote pero necesito que cuando encima coincide con un cliente en concreto quisiera que me imprimiera otro informe diferente.
Hasta hora he funcionado así


EF4AA19F-9705-4DEF-BE9E-FB3B265363F8

Yo he probado de mil i una maneras las pocas opciones que conozco y no me funciona con esta lógica

Silnm=informe!bobinas2!cliente=4300189;informe!bobinas2;informe!bobinas

Esta sería la idea yo creo

Gracias por la ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda con impresión de informes

Publicado por Anonimo (3316 intervenciones) el 29/10/2019 00:10:48
Esa idea esta idealizada, pero falla en el concepto elemental: definir el informe que se desea abrir pero 'antes de' abrirlo.

Si la referencia al objeto es un dato del propio objeto, para poder cumplir la condición hay que viajar en el tiempo y (de lograr hacerlo) podemos entrar en un circulo vicioso.

Propongo que ANTES de ejecutar el informe, en el formulario que llama al informe se verifique si el cliente es uno determinado, de cumplirse se abre uno y si no se cumple, el otro.

Suponiendo que en el formulario se seleccione al cliente, esto es: se pueda acceder al dato que diferencia al cliente, por ejemplo su ID, se podría resolver así:
1
DoCmd.OpenReport IIf(Me.Texto1 = "Juan", "Informe_para_Juan", "informe comun")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

Ayuda con impresión de informes

Publicado por Ruben (6 intervenciones) el 30/10/2019 00:01:10
GRACIAS por la respuesta y por las molestias.

Perdona por mi ignorancia y la tardanza pero ese código donde lo tendría que poner
en el generador de código del botón y puede que sea así
DoCmd.OpenReport IIf(IdCliente = “43000189", "bobinas1", "bobinas")

Tengo una tabla llamada clientes con el campo idCliente + campo de nombre
Una consulta llamada pedidos cuál que tiene el campo idPedido que en criterio pregunta ¿que pedido quieres ver? Y esto me discrimina el pedido a la hora imprimir
Tengo un formulario que relleno a mano que está asociado a la consulta pedidos cuál
Y por último tengo un informe llamado bobinas (y bobinas2) que su origen de control es pedidos cuál , en todos ellos tienen el campo idCliente
Espero haberlo explicado bien
Y sobre todo perdón por la ignorancia y mil gracias por las molestias causadas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con impresión de informes

Publicado por Anonimo (3316 intervenciones) el 30/10/2019 00:33:40
Por partes:

Si el campo idCliente es de texto, se admite que el dato que lo define este encerrado entre comillas (o el delimitador de texto que se ajuste al entorno)
Si ese campo es de tipo numérico, las comillas provocaran un error de interpretación

Esa función devuelve (si se cumple la condición) el primer dato (si el informe se llama 'bobinas1' pues correcto, pero ..¿que es ese informe que llamas 'bobinas2'?

Si no se cumple la condición devolvería el segundo dato que se supone es el nombre del informe: 'bobinas'.

Si aumenta el numero de clientes con necesidades especiales (y los hay caprichosos) se tendría que ir a la solución de utilizar un 'select case' o incluso una función como 'Swicht'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

Ayuda con impresión de informes

Publicado por Ruben (6 intervenciones) el 31/10/2019 10:40:05
Gracias nueva mente por la ayuda y la molestia

El idCliente es numérico
Lo de bobinas 2 me equivoqué al expresarlo y quería decir bobinas 1 para referirme a los dos informes que tengo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar