Access - Cmd para actualizar formulario

 
Vista:
sin imagen de perfil
Val: 32
Ha aumentado su posición en 25 puestos en Access (en relación al último mes)
Gráfica de Access

Cmd para actualizar formulario

Publicado por Roberto (25 intervenciones) el 17/08/2018 20:35:15
Tengo un formulario, contiene varios campos para ingreso de datos, y otros que reflejan operaciones entre los datos de los campos ingresados manualmente, Ej:
[Campo1], [Campo2], [Campo3] ; [Campo4]= [Campo1]+ [Campo2]+ [Campo3]
Al cambiar los datos ingresados previamente en uno de los tres primeros campos quiero que se actualice automáticamente y en tiempo real el [Campo4] .
El recálculo se hace automáticamente y se incorpora al [Campo4], pero no encuentro la forma de que se actualice en el formulario con el nuevo resultado.
Muchas gracias por la colaboración
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 32
Ha aumentado su posición en 25 puestos en Access (en relación al último mes)
Gráfica de Access

Cmd para actualizar formulario

Publicado por Roberto (25 intervenciones) el 17/08/2018 21:51:32
No aclaré que quiero hacerlo con código, tipo "DoCmd.DoMenuItem acFormBar......................."
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 756
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Cmd para actualizar formulario

Publicado por Jesús Manuel (375 intervenciones) el 20/08/2018 10:11:37
Tendrías que tener definidos los campos Campo1, Campo2 y Campo3 como tipo número.

Para que la suma se haga según vas introduciendo valores, tendrías que usar la función Nz para evitar los campos aún vacíos:

Campo4 = Nz (Campo1,0) + Nz (Campo2,0)+.....


Si no necesitar guardar el resultado de la operación, y solo mostrarlo, lo mejor sería indicar la operación en el Origen del control (Propiedades/Datos)



El separador de la función Nz puede ser:
, (coma) si la utilizas en el código vba Nz (Campo1,0)
; (punto y coma) si la utilizas en origen de control Nz (Campo1;0)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 32
Ha aumentado su posición en 25 puestos en Access (en relación al último mes)
Gráfica de Access

Cmd para actualizar formulario

Publicado por Roberto (25 intervenciones) el 21/08/2018 00:37:45
Muchas gracias por tu respuesta, te comento que al comienzo pongo los 4 campos con valor cero para no tener que utilizar la función Nz,
necesito que si mas adelante me doy cuenta que he introducido un dato erroneo, poder modificar cualquera de los tres campos y que el nuevo dato se guarde en el campo4 en la tabla y se actualice visualmente en el formulario.
Gracias nuevamente,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cmd para actualizar formulario

Publicado por Anonimo (3316 intervenciones) el 21/08/2018 07:54:37
Si (como supongo) es un formulario independiente no actuara como lo haría otro con dependencia a un origen de datos.

Hay que plantearse el problema como si se tratase de una 'hoja en blanco' en la que podremos dibujar o escribir a capricho e imponer nuestras propias reglas en contraste con ese mismo formulario con un origen de datos … esto es:

Sin origen de datos:
Escribimos o utilizamos la hoja a capricho y (lo normal) es acudir a otra nueva para el siguiente diagrama o texto

Con origen de datos:
Tras rellenar el formulario (impreso), 'automáticamente' se genera un nuevo impreso en blanco (los datos anteriores se guardan en el origen de datos).

Conclusión:
Para simular el comportamiento de un formulario 'con origen de datos' hay que planificar
.- 'cuando se considera finalizado' (podría ser el valor del campo calculado diferente de cero o NULL ….)
.- que hacer con los datos ingresados (si se desprecian o se guardan 'en algún sitio')
.- cuando se considera que comenzara la nueva toma de datos (indispensable para 'poner a cero' los anteriores)
.- otras acciones aquí no mencionadas (se ignora la utilidad de lo que se ha planteado como problema a solucionar).


Me gustaría que esta línea fuese mas explicita:
… No aclaré que quiero hacerlo con código, tipo "DoCmd.DoMenuItem acFormBar......................." ….

Porque (lamentablemente) no existen acciones predefinidas para todas y cada una de las ocurrencias de los programadores (en el nivel que sea)
De lo que si dispone Access es de maderas, martillos y clavos para que cada uno construya su propio barco a su gusto/dimensiones
Tambien que acudir a la barra de tareas para tomar acciones esta obsoleto
Las acciones se pueden ejecutar con un 'DOCMD.RunCOMMAND xxxxxxxxxx'
Las xxxxxx las puede mostrar el asistente de Access en la ventana de VBA según se escriben, (en tiempo de ejecución) es la función para la que fue diseñado y lo hace bastante bien.

Aunque a este nivel (el que se precisaría aquí si es correcto lo de formulario independiente) quizás bastase con un 'Me.Undo' que suele dejar al formulario en su estado virginal (es un equivalente a pulsar la tecla 'escape' casi siempre)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Cmd para actualizar formulario

Publicado por Anonimo (3316 intervenciones) el 21/08/2018 23:33:22
Donde dice:
Las xxxxxx las puede mostrar el asistente de Access en la ventana de VBA según se escriben, (en tiempo de ejecución) es la función para la que fue diseñado y lo hace bastante bien.

Deberia decir:
Las xxxxxx las puede mostrar el asistente de Access en la ventana de VBA según se escriben, (en tiempo de diseño) es la función para la que fue diseñado y lo hace bastante bien.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar