Comprobar valor de un campo de un formulario con otro valor ingresado en otro campo de otro formulario en access

Tengo un formulario llamado Recibos el cual tiene un campo Total, al momento de totalizar me abre un formulario llamado Forma de Pago, en el cual registro los siguientes campo, numero de recibo (que me lo trae del formulario recibos), banco, fecha, tipo de operación (nd, nc, dep y ch), numero de referencia y monto, quiero darle al momento de guardar (a través de un botón) me compare el valor del campo total del formulario recibo con el acmpo monto del formulario forma de pago, y si los datos coinciden guardar el valor de la forma de pago, en caso de que no coincidan dar señal de alerta y permitir el regostro de otro instrumento de pago hasta cancelar el recibo

1 respuesta

Respuesta
1

Utilizando la ruta absoluta, se puede hacer referencia a cualquier objeto abierto de una aplicación.

Si el botón esta en el formulario de pago ([Forma de pago]), el campo MONTO se referenciara con 'Me.' y el campo [Total] del formulario [Recibos] con su ruta absoluta (es un objeto externo).

IF Me.Monto = Forms.Recibos.Total Then ....

... Aqui lo que hacer si son iguales (guardar el modo de pago cerrar el formulario...)

ELSE

... Aqui el mensaje de continuar y tras ello iniciar un nuevo registro ....

End If

Gracias por su pronta respuesta, pero quisiera ampliar más su respuesta con el código para el caso de que sean iguales y para cuando no lo es, gracias

Si tienes algo concreto que necesites hacer da una pista más concreta (no conozco la aplicación)..

En principio si se cumple que sean iguales, supongo que lo que se haría es guardar el registro (algo que se hace de forma automática cuando se cierra el formulario).

Si no se cumple y suponiendo que se desea añadir un medio de pago más (solo se me ocurre que pueda ser una venta a plazos concertados y este sea uno más), lo adecuado seria ir a un nuevo registro (se guardaría el actual de forma automática) y en el nuevo volver a llenar los datos adecuados.

Según sean los datos a cubrir (por ejemplo los plazos acordados en una venta) lo más probable es que se pueda automatizar la creación de registros (plazos), en cualquier otro caso se puede 'recordar' el contenido anterior de algunos (o todos) los datos del actual registro proponiéndolos como 'valores por defecto' para el siguiente registro a crear en la sesión activa, solo convendría 'no guardar los cambios en el formulario' al cerrarlo para evitar que apareciesen por defecto en la siguiente apertura del formulario de pagos.

Un código muy utilizado para cerrar el formulario activo es:

DoCmd. CLose AcForrm Me. Name (sin espacios tras los puntos)

Para 'ir' a un nuevo registro se suele aplicar :

DoCmd. GoToRecord, Me. Name, acNewRec (sin espacios tras los puntos)

Poner un mensaje es algo optativo y que casi siempre tras verlo dos veces la tercera lo hace aburrido y/o molesto por tener que cerrarlo para continuar (ya esta en un nuevo registro, si se cumple la igualdad se cierra el formulario).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas