Buen día, quiero saber como controlar un formulario.

En un formulario, al ingresar un valor, quisiera compararlo con otro y, dependiendo del resultado, exhibir un mensaje de aviso y que el cursor no pueda salir de ese campo hasta insertar el valor apropiado o cancelar por completo el ingreso del registro.

1 respuesta

Respuesta
1

Hombre, así a palo seco faltan datos, pero en el evento Antes de actualizar de ese cuadro de texto, al que llamaremos Elegir puedes poner

If elegir<> dlookup("el otro campo","la tabla del otro","y aquí el criterio") then

Msgbox"Va a ser que no", vbokonly,"Otra vez será, pero ésta no"

Docmd. Cancelevent

end if

Hola!. A pesar de los pocos datos, eso era exactamente lo que buscaba. Ahora lo complicaré un poco más. Tengo un formulario de transferencias de productos entre almacenes y que tiene 2 subformularios (que aún no funciona). La mecánica es la siguiente: En el form princinpal selecciono el art. a transferir. El 1° subformulario muestra los lugares y cantidades donde se eencuentra el producto, y permite seleccionar desde cuales depósitos voy a mover la mercadería. El segundo es de entrada solamente y en el ingreso los destinos del producto a mover con sus respectivas cantidades. El tema es que tanto sea que mueva el producto a un solo almacen o lo distribuya, el total no debería superar al valor exhibido en en subformulario 1. Se que puedo hacer esa comparación mediante una consulta SQL, pero no se como insertarla en ese contexto ni donde hacerlo.

Si para resolver esta cuestión necesitas más datos, dime cuales necesitas y te los envieré.

Gracias.

Un saludo

Hablando así por encima y suponiendo que el campo del segundo formulario se llame Entrega y el del primero Cantidad, en el evento antes de actualizar del cuadro de texto Entrega puedes poner

If dsum("entrega","tbalaorigensubform2","aquí el criterio que relacione registros")>= dlookup("cantidad","tablaorigendel subform1","aquí el otro criterio") then

mesgbox"..."
Docmd. Cancelevent

end if

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas