Access - código Acces buscar un registro anterior

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

código Acces buscar un registro anterior

Publicado por miguel (2 intervenciones) el 13/12/2019 00:24:03
Me gustaría si es posible alguna ayuda a un código acces que no sé cómo terminarlo.
Tengo un formulario de una consulta de dos tablas donde en el formulario hay gastos e ingresos.
Quisiera pone un botón donde en el formulario me pusiese una cantidad de un cuadro de texto numérico en el formulario en el registro anterior al que estoy.
registro actual txtyyyy siempres sale vacio y quisira pone un numero del registro anterior
If txtyyyyy=”” then
Txyyyyy.= tabla.datox del registro anterio.
Gracias a todos
Tengo 70 tacos ya y hace 11 años deje de programar que era mi profesión, y ahora lo he retomado y estoy haciendo unas cositas para mí.
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
Imágen de perfil de Juan
Val: 414
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

código Acces buscar un registro anterior

Publicado por Juan (150 intervenciones) el 13/12/2019 12:41:20
Hola puedes usar la función Dlast.
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

código Acces buscar un registro anterior

Publicado por Anonimo (3303 intervenciones) el 14/12/2019 10:36:28
En los formularios que permiten la introducción de datos -si no se les elimina esa posibilidad- (la adquisición de datos), saldrá un registro al final en blanco, en el cual solo aparecerían valores en los cuadros de texto que en diseño su origen de datos estuviera predeterminado.

Dado que -por lo descrito en el post inicial- el origen de datos es una consulta con dos tablas, el anterior el primero así como el ultimo o intermedios no es predecible (dependerá de la consulta en si y los datos).

Por otra parte el anterior (en ese formulario) siempre dependerá del orden que se les imponga (otra complicación)

Basándonos en el hecho de que en los formularios (continuos o no) solo hay un registro 'real' -el activo- (el resto es pura ilusión óptica) no hay un anterior (por el simple hecho de que 'no existe').

La solución es acudir al origen 'real' de esos datos (el RecorsetClone del formulario) que en el si están 'todos los registros' que el formulario puede mostrar, bastaría 'sincronizar ambos' -el recordsetclone que es un clásico recordset- y el único registro que muestra de ese conjunto - el registro actual activo- y una vez sincronizados si se puede acceder a los datos del que nos interese sea el primero, ultimo el que esta cuatro por detrás o por delante si existen como tales en ese conjunto.

Otra de las posibles opciones consistiría en 'predeterminar' el valor de ese objeto (el cuadro de texto) en base a actualizar esa propiedad en cada cambio de registro esto es: asignar en el evento Current del formulario, el actual valor del cuadro de texto, como 'valor predeterminado' para el caso de que el siguiente fuera un nuevo registro.

Quizás por falta de datos concretos (yo personalmente) no tenga una visión clara del objetivo a lograr o faltan datos de lo que se pretende obtener, porque hay muchas variables a tener en cuenta para llegar a algún resultado eficiente.
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: 4
Ha aumentado su posición en 12 puestos en Access (en relación al último mes)
Gráfica de Access

código Acces buscar un registro anterior

Publicado por miguel (2 intervenciones) el 14/12/2019 11:33:29
Gracias por vuestras respuestas veras te explico, como he dicho antes llevo muchos años fuera de programación y parecerá una tontería mis dudas.
Tengo una tabla GASTOS, y una tabla INGRESOS muy sencillas, cada una con sus formularios, he creado una consulta de ingresos y gastos (GASTOSINGRESOS consulta) que tienen relacionados los id.
A partir de la consulta creo un formulario con la propiedad de modificar registro (GASTOSINGRESOS consulta) hay un campo en una tabla lleva resultado que viene dado de restar gastos e ingresos mensuales.
El mes de enero lo hago introduciendo datos, el mes de febrero me gustaría que en el formulario (GASTOSINGRESOS consulta) me Apareciese EL campo de la resta de enero.
Se que estoy perdido y no están difícil usando código para llamar a un campo determinado del registro anterior.
Perdonar por mi ignorancia, pero como ya dije antes hace 11 años que no he hecho nada y ahora con 70 tacos que tengo he retomado un poco y me van viniendo bastante código que tenia olvidados. Pero me cuesta un poco, pero sigo. No doy nada por perdido
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

código Acces buscar un registro anterior

Publicado por Anonimo (3303 intervenciones) el 14/12/2019 18:48:48
Lo que se describe me parece una contabilidad básica, normalmente se suelen utilizar dos columnas en una sola tabla y la tercera (la diferencia entre ellas o Saldo) aparece al presentar los datos en el formulario (es la suma de cada columna hasta el registro actual incluido, y la diferencia entre ellas calculada en una consulta con ambas tablas).

Para el caso actual la solución es sencilla, el primer dato del mes (sea en la columna ingresos o gastos según corresponda) seria el resultado de aplicar la función de dominio 'DSUM' a cada tabla, como única condición, que la fecha sea igual o inferior al periodo en que se esta calculando (por ejemplo: <= 31 de enero o < que el 1 de febrero) y restarle el resultado de la otra función mas o menos asi:

=Dsum("campo";"Tabla_ingresos"; "Fecha < ……") - Dsum("campo";"Tabla_gastos"; "Fecha < ……")

La contabilidad es un poco mas …. digamos que completa que este método, pero cada quien lleva sus controles como considera que es mas útil para el (y las soluciones simples tienen sus partidarios).
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