Guardar un valor predetermnado en access 2016

Tengo las tablas relacionadas, y en los formularios, tanto principal como secundarios están vinculados por los camposcorrectamente, y lo que necesito es que al actualizar el campo fecha, pase el enfoque a un campo del subform, pero este es un dato fijo( valor predeterminado) y necesito que al segur tabulando se guarde el registro pertinente en la tabla donde está el campo.

en este paso se ve que no he introducido la fecha

en este paso ya he introducido la fecha y el cursor está parpadeando en el campo.

Ya he pulsado el tabulador y se va al campo de turno, pero como se ve, en el campoId_Turno _T, no se ve que se haya generado el registro, y eso es lo que pretendo.

Para pasar el enfoque al campo que yo quiero lo he intentado con código y no funciona, solo he conseguido cambiarlo en las propiedades de cada campo del subformulario el indice de prioridad.

Las dos tablas están relacionadas por: tabla de fechas como principal por su Id, y la tabla turno en el subf por Ref_Fecha, la relación es uno al infinito

1 respuesta

Respuesta
1

Has llegado al campo que deseas, pero no existirá como registro mientras no se guarde (mientras será un proyecto y no un registro).

Para guardar el registro de forma automática hay que salir de el, bien desplazándose a otro o yendo a uno nuevo, también vale volver al formulario principal.

Solo hay una forma de 'lograr ese dato' sin salir del registro activo: guardarlo con código.

Algo como:

DoCmd. RunCommand acCmdSaveRecord

¿Esto no debería ser una ampliación del otro post?

Otra pregunta ¿el ID es un autonumérico? (Si no lo es habrá que fabricarlo).

Gracias.

Si el id es un autonumérico, y el Ref_Fecha es numérico

Los autonuméricos se consolidan en cuanto se guarda el registro.

En lo publicado no se visualiza un dato (el autonumérico) porque el registro sigue siendo un proyecto, si se desea consolidar: en cuanto los campos requeridos tengan valor se puede forzar el guardado y tras ello, refrescar la presentación.

Dado que el proceso es automático (mientras el registro no se consolide no se le pueden asignar dependencias) ¿Qué o cual es el problema que no deja continuar con la aplicación?

Que no se 'vea' el nuevo valor no significa que no exista DESPUES de consolidar el registro, o bien el entorno es más amplio y hay dependencias no publicadas o me estoy perdiendo algo.

Repasando el hilo para intentar ver otro enfoque, me he dado cuenta de que se pretende finalizar la creación (y que se guarde) en base a la tabulación: ¿Tabulando se sale del registro para ir a uno nuevo?.

¡Gracias! 

he puesto:

DoCmd. RunCommand acCmdSaveRecord

y no me funciona.tabulando si cambia de campo pero sin guardar registro alguno.

¡Gracias!

Te muestro todo el proceso:

Como puedes ver, he puesto el código en dos sitios diferentes, uno de cada vez y no funciona.

En la captura fom1 es cuando carga el Formulario y llevo el cursor al campo fecha, luego introduzco la fecha y en cuanto tabulo, va el enfoque al subformulario y al campo turno, y ya aparece en la Ref_Fecha el número que le corresponde, pero en el Id_Turno_T, no cuenta, y porlotanto no se genera el registro y no guarda nada en la tabñla que le corresponde. Y con relación a tu pregunta, en cuanto tabulo va pasando por cada uno de los campos según su orden de tabulación, por el formulario principal, pero en este caso como ya estoy en la fecha, orden tab 1, desde hay lo paso con código al subformulario y luego al cam`por turno, cuyo valor es predetrminado y este es el problema, no genera el registro al tabular o al darle enter. Tampoco sale del subformalrio ya que no le he puesto nada para que lo haga.

Ahora mismo esto no es problema, pues en cuanto resuelva esto, estos formularios van a aumentar el número de campos pero ya no da problema.

Bueno, después de todo lo expuesto anteriormente y aplicando la técnica del mono lo he conseguido, he puesto:

Private Sub TURNO_LostFocus()
Me.TURNO = "TARDE"
End Sub

Increíblemente funciona, ahora he de conseguí¡uir devolver el enfoque el campo fecha del formulario principal y ya esta.

Gracias por todo el esfuerzo.

Perdón si he sido pesado.

Buenas de nuevo,he cambiado de ord y no funciona nada,esto es de brujas

Podemos empezar de nuevo,todo lo expuestos re como lo tengo diseñado se mantiene,pero sigo sin conseguir mis dos objetivos,que al recibir el campo el enfoque ponga el dato predeterminado y que genere el registro pertinente

Un repaso a los datos publicados y sigo sin ver claro que se pretende obtener (dejando a un lado la metodología planteada, lo que se aconseja hacer, lo que se hace o como se hace).

Si lo que se desea es crear una secuencia de turnos para cada fecha, los datos mínimos son la fecha + el turno + que se asigna a la combinación de [fecha+turno].

Un Id autonumérico no evita las repeticiones, solo es útil como relación con otra tabla.
Para evitar repetir el binomio fecha+turno se crea un índice con ambos campos.

Si se desea un listado con fechas únicas (para filtrar la tabla): una consulta de selección en tiempo real y logrado.

Para construir algo que sea útil, se ha de hacer con la vista puesta en el resultado a obtener, amontonar ladrillos no hace una casa, si se desea construir una casa: primero los planos para poder utilizar de forma correcta los ladrillos.

En este punto quizás lo adecuado es tomar una decisión sobre lo que se puede reutilizar de lo publicado (considerando que es muy probable que lo publicado solo sea una mínima parte de lo existente).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas