Comparación de datos en una base de datos Microsoft Access

Gracias por tomarte de tu tiempo para de esta forma ayudarme. Tengo una forma que tiene numero, nombre y cantidad1, al entrarle el numero aparece el nombre y a su vez presenta una subforma que tiene numero, fecha y cantidad2. Ahora bien la pregunta es:¿? ¿Cómo puedo comparar si cantidad1 > cantidad2 y que me muestre un mensaje que diga cantidad1 mayor que cantidad2? Obviamente cuando accese el record a través de numero. Tengo problemas para entender como puedo controlar los records en una subforma te agradeceré tu ayuda.

4 respuestas

Respuesta
1
La manera de hacer referencia a un control en un sub formulario es la siguiente:
[Forms]![NombreFormulario].[NombreSubFormulario]![NombreControl]
Donde "NombreControl" es el el control que contiene cantidad2 en tu caso, estimo que un cuadro de texto.
Respuesta
1
Llevamos tiempo peleándonos con este problema y no acabo de verlo claro, seguramente or que no entiendo cuál es el objeto de esta comparación. Quizás, si me lo explicas pueda cambiar mis planteamientos.
Desde el formulario principal puedes hacer la siguiente comparación:
if me![cantidad1] > me.[subformulario].form![cantidad2] then
...
Endif
Pero, dependiendo del caso, quizás fuera mejor hacer la comparación desde el subformulario, por ejemplo, en el evento Current; en ese caso sería:
if me.parent![cantidad1] > me.[cantidad2] then ...
Si aún no consigues solucionar el problem, creo que debes explicarme con más detalle qué pretendes con esa comparación, quizás haya otro camino más sencillo.
Respuesta
1
Tanto en el caso de los formularios o lo subformularios la referencia de los controles siempre se refieren al registro activo por lo que en el caso de que tengas un formulario A y un subfirmulario B para efectuar la consulta deberías por el evento afterupdate de cantidad2 hacer la siguiente comparación
if forms!A!cantidad1 > forms!A!B!cantidad2 then
...
Endif
Respuesta
1
Puedes hacer referencia a los campos del subformulario en el formulario en un evento del tipo:
If val([TuSubformulario].[Formulario].[cantidad1])>val([TuSubformulario].[Formulario].[cantidad2]) Then
MsgBox "cantidad1 mayor que cantidad2"
Cancel=True
End If

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas