Access

Tengo otra situación es que tengo dos campos los cuales son numéricos que deseo compara el valor de ambos, se que puedo utilizar los que anteriormente de distes siendo como sigue:
if val([campo1])>val([campo2]) then
msgbox "campo 1 es mayor que el campo2"
cancel = true 'no continuar'
Endif
Ok esto tarbaja muy bien pero quiero que esto se ejecute cuando busque un record, osea que al accesar el record verifique inmediatamente estos campos, he tratado varias cosas pero no me sale. El record tiene varia información, he incluso la forma a su vez tiene una subforma que de esta subforma viene el campo1, el campoe es de la forma primaria. Gracias nuevamente. ¿Podría conseguir el runtime de access gratis?
**********************************************
Por favor llevame de la mano dame detalles, gracias y perdona.
? ¿Cómo puedo compilar o proteger bien el programa en access si no tengo el compilador?

2 respuestas

Respuesta
1
Son varias las cuestiones que planteas en una sola pero intentaré despejar tus dudas:
La comparación de los valores la puedes automatizar, por ejemplo, con un botón y colocando el código en el evento "al hacer clic". Los procedimientos son muy variados dependiendo de la aplicación y de la forma de trabajar del usuario, debes de buscar la más apropiada.
En cuando a tu pregunta por el runtime de access, no creso que sea gratis. La forma de proteger tus aplicaciones la puedes conseguir a través de la creación de ficheros *.mde. En el apartado NEWS de la web http://www.amialbacete.com/soloaccess tienes información de como hacerlo.
Respuesta
La runtime de Access es grais, es de distribución gratuita, pero por sí sola no te sirve de mucho si no haces una instalación adecuada de la aplicación, y para esto necesitas las ODE Tools que nadie te va a regalar. De todas maneras, a mi no me gusta nada la runtime.
En cuanto al código que necesitas, tienes dos opciones:
1.- Si el formulario tiene botones de navegación, es imposible anticiparse a que se mueva a la posición donde la condición es verdadera. Sólo puedes actuar en el evento Current del Formulario, ponindo el mismo código, pero sin Val(), ya que dices que son campos numéricos, lo que pasa que aquí Cancel no tiene utilidad y no es sencillo volver al registro anterior.
Para hacer referencia a un campo de un subformulario debes usar una "gramática" adecuada:
Me![NombrtedelcontroldelSubform]. Form![Nombredelcampo en el subform]
2.- Si controlas el desplazamiento entre registros mediante código entonces puedes hacer la comparación antes de desplazarte, pero para eso debes jugar con los objetos recordsetclone y bookmark del formulario y del subformulario, que no es cosa de exponer aquí: debes repasar la ayuda de Access al respecto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas