Verificación que no me abre un cuadro de mensaje
Publicado por Impaciente (29 intervenciones) el 07/08/2020 18:25:15
Hola a todos y gracias anticipadas por la gran ayuda que me ha supuesto este foro para resolver ciertas dudas a la hora de trabajar con access.
Necesito vuestra ayuda para un problema que tengo que en principio no tendría que tener mayor inconveniente, pero llevo semanas intentando solucionarlo y no hay forma humana, de ahí que tenga que recurrir a gente experta como vosotros.
Tengo que comentar que no sé programar, de modo que utilizo Access con macros, fórmulas, etc…
Resulta que tengo un campo independiente Si/No llamado [Verificación33] el cual se activa cuando se hace el siguiente cálculo:
=[Texto24]>=[Próximo Mantenimiento]=-1
[Texto24] es un campo independiente donde se realiza la suma de horas de uso de tractores. Esta información se encuentra en un subformulario:
=[Horas Tractores Subformulario].[Formulario]![Texto11]
[Próximo Mantenimiento] es un campo numérico de la Tabla Tractores donde se especifica las horas a las que hay que hacer el próximo mantenimiento.
Pues bien, si os dais cuenta sólo hay que hacer una comparación para ver si la suma de las horas de uso de un tractor es superior al número de horas en las que hay que hacerle el mantenimiento.
Todos los cálculos se realizan correctamente, pero el PROBLEMA viene cuando necesito hacer una macro que me avise cuando abro la base de datos en el que me avise si hay algún tractor donde [Verificación33] sea igual a -1. No sé si me explico bien.
He intentado hacer consultas, he creado un campo de verificación en la tabla tractores para que se marque cuando se produzca el cálculo, pero se hace el cálculo en el formulario pero no se guarda el valor en el campo de la tabla. He utilizado la macro Establecer Valor para guardar el valor en el campo, pero el problema es que tengo que poner la macro en el evento recibir enfoque, y para eso tengo que hacerlo yo manualmente, es decir, tengo que ir pulsando la tecla tabulador para pasar sobre los diferentes campos donde se hacen los cálculos hasta llegar al campo de verificación. De este modo se guarda el valor en el campo, pero no me sirve porque lo tengo que hacer de forma manual.
He probado a hacer un informe, donde me aparece la marca de verificación de los tractores que necesiten hacer el mantenimiento, pero esto sólo me sirve para ver de forma diaria el informe, lo cual no es práctico, porque lo que quiero es que una macro revise el campo [Verificación33] y cuando vea que tiene valor -1, que es cuando estaría activado, me apareciera un cuadro de mensaje avisándome que tengo que hacer el mantenimiento del tractor que corresponda.
¿Puede alguien sacarme de este atolladero sin salida en el que me encuentro?
Se lo agradecería enormemente.
Si me facilitaran unas líneas de programación de Visual Basic, os tendría que dar yo los nombres exactos de los formularios, subformularios y consultas que están relacionadas, y explicarme como y donde debería de añadirlo.
Si fuera a través de alguna consulta, macro, etc… creo que yo podría seguir vuestras indicaciones para que me funcione el aviso que necesito.
Necesito vuestra ayuda para un problema que tengo que en principio no tendría que tener mayor inconveniente, pero llevo semanas intentando solucionarlo y no hay forma humana, de ahí que tenga que recurrir a gente experta como vosotros.
Tengo que comentar que no sé programar, de modo que utilizo Access con macros, fórmulas, etc…
Resulta que tengo un campo independiente Si/No llamado [Verificación33] el cual se activa cuando se hace el siguiente cálculo:
=[Texto24]>=[Próximo Mantenimiento]=-1
[Texto24] es un campo independiente donde se realiza la suma de horas de uso de tractores. Esta información se encuentra en un subformulario:
=[Horas Tractores Subformulario].[Formulario]![Texto11]
[Próximo Mantenimiento] es un campo numérico de la Tabla Tractores donde se especifica las horas a las que hay que hacer el próximo mantenimiento.
Pues bien, si os dais cuenta sólo hay que hacer una comparación para ver si la suma de las horas de uso de un tractor es superior al número de horas en las que hay que hacerle el mantenimiento.
Todos los cálculos se realizan correctamente, pero el PROBLEMA viene cuando necesito hacer una macro que me avise cuando abro la base de datos en el que me avise si hay algún tractor donde [Verificación33] sea igual a -1. No sé si me explico bien.
He intentado hacer consultas, he creado un campo de verificación en la tabla tractores para que se marque cuando se produzca el cálculo, pero se hace el cálculo en el formulario pero no se guarda el valor en el campo de la tabla. He utilizado la macro Establecer Valor para guardar el valor en el campo, pero el problema es que tengo que poner la macro en el evento recibir enfoque, y para eso tengo que hacerlo yo manualmente, es decir, tengo que ir pulsando la tecla tabulador para pasar sobre los diferentes campos donde se hacen los cálculos hasta llegar al campo de verificación. De este modo se guarda el valor en el campo, pero no me sirve porque lo tengo que hacer de forma manual.
He probado a hacer un informe, donde me aparece la marca de verificación de los tractores que necesiten hacer el mantenimiento, pero esto sólo me sirve para ver de forma diaria el informe, lo cual no es práctico, porque lo que quiero es que una macro revise el campo [Verificación33] y cuando vea que tiene valor -1, que es cuando estaría activado, me apareciera un cuadro de mensaje avisándome que tengo que hacer el mantenimiento del tractor que corresponda.
¿Puede alguien sacarme de este atolladero sin salida en el que me encuentro?
Se lo agradecería enormemente.
Si me facilitaran unas líneas de programación de Visual Basic, os tendría que dar yo los nombres exactos de los formularios, subformularios y consultas que están relacionadas, y explicarme como y donde debería de añadirlo.
Si fuera a través de alguna consulta, macro, etc… creo que yo podría seguir vuestras indicaciones para que me funcione el aviso que necesito.
Valora esta pregunta


0