La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/Access/1287690-DBusq-ultimo-registro-insertado-en-otra-tabla.html

DBusq ultimo registro insertado en otra tabla

DBusq ultimo registro insertado en otra tabla

Publicado por Gemelas (22 intervenciones) el 29/09/2011 19:52:00
Hola, tengo un problemita y no se como solucionar.
Necesito colocar en el Origen de Control de un Cuadro de Texto El "ultimo registro ingresado en un campo de una tabla existente"
No se como poner el criterio para DBúq
=DBúsq("[Run Empleados]";"[Empleados]";"Run=El Ultimo registro Ingresado en la tabla Empleados)
No se si sera posible un criterio que sea así
De no ser posible, como podria hacer esto.

Gracias

DBusq ultimo registro insertado en otra tabla

Publicado por Marcos (53 intervenciones) el 29/09/2011 21:14:59
Hola.
Si sólo se trata de colocar en ese cuadro de texto el último registro ingresado en un campo de una tabla existente, te basta que en el Origen de control pongas esto.
=DÚltimo("Nombre del Campo","Nombre de la Tabla")

Saludos.

MR

DBusq ultimo registro insertado en otra tabla

Publicado por Gemelas (22 intervenciones) el 29/09/2011 22:04:56
Hola, primero gracias por contestar.
Hice lo que me dijiste pero no funciona.

Y como dices, solo se trata de colocar en un cuadro de texto de un Formulario, el Ultimo registro Ingresado en el campo de otro formulario.

En origen de control Coloque:
=DÚltimo("Run";"Ingreso Nuevos Empleados"). Tambien probé con [ ] para el nombre del formulario. Me arroja #Error.

En el Formulario anterior (son los datos personales del empleado) tengo un Boton (se llama Siguiente) este boton tiene una macro que Guarda los registros insertados, luego abre el Formulario Siguiente y por ultimo se dirige a un nuevo registro.

En este nuevo registro del Formulario 2 (son diferentes insumos que recibe el trabajador), entonces necesito nuevamente el Run del trabajador, entonces queria que ese campo se completase automaticamente, haciendo referencia al campo Run del ultimo registro del formulario anterior.

No se si me explique bien pero todo trasciende en colocar en un cuadro de texto de un Formulario, el Ultimo registro Ingresado en el campo de otro formulario.
Gracias por cualquier ayuda.

DBusq ultimo registro insertado en otra tabla

Publicado por Marcos (53 intervenciones) el 29/09/2011 22:35:34
La Verdad es que hay antecedentes que no aportas, como por ejemplo si el primer form se basa
en la misma tabla del segundo o si son independientes.

Pero si tengo un fom abierto (Formulario1) y ese formulario tiene un cuadro de texto llamado RUN y luego tienes un botón que abre un segundo formulario (Formulario2) el que tiene un cuadro de texto en el que quisieras poner el RUN del formulario1, entonces, en el cuadro de texto del formulario2, origen del control =[Formularios]![Formulario1]![RUN]

MR

DBusq ultimo registro insertado en otra tabla

Publicado por Gemelas (22 intervenciones) el 29/09/2011 22:54:06
MR, gracias por la respuesta. Los Formularios se basan en tablas diferentes.

En este caso el Formulario 2 no esta abierto porque el Botón lo cierra. Intenté con lo que me dices pero no funciona. También intente con el formulario 1 abierto pero nada.

No se lo que suceda. Ya he intentado de todo.
Si tienes alguna idea porfavor me dices.
Saludos

DBusq ultimo registro insertado en otra tabla

Publicado por Marcos (53 intervenciones) el 29/09/2011 23:03:28
Qué extraño.
Si el form1 se cierra, entonces la tabla en la que se basa ese formulario queda actualizada con el
último registro que ingresaste.
Entonces en el formulario2, debieses poder rescatar el último registro de la TABLA del form1.
eso con =DÚltimo("Nombre del Campo","Nombre de la Tabla"), descrito anteriormente y el cual se pone en el origen del control en un cuadro de texto del formulario2.
Yo lo hago y me funciona perfecto.

MR

DBusq ultimo registro insertado en otra tabla

Publicado por Gemelas (22 intervenciones) el 29/09/2011 23:26:49
MR. Muchisimas Gracias. Creo que mi error era que colocaba el nombre del formulario en vez de el nombre de la tabla y tiene que ser separado por ;

Lo probé con varios y funciona perfecto. Gracias totales.

Ahora si abusar de tu buena voluntad tengo un problema con la Macro del botón del formulario uno.

Como te contaba esta Macro, primero guarda los cambios del formulario 1 (tiene que preguntar si deseo guardar los cambios), luego cierra la ventana, despues abre el formulario 2 y por ultimo se se dirige a un nuevo registro.

El problema es que me pregunta si deseo guardar los cambios solo la primera vez que se ejecuta la macro( asigno la macro al boton, pincho el boton funciona bien, me pregunta por los cambios y abre el otro formulario en un nuevo registro).

Si vuelto a abrir el Formulario 1 y pincho el boton realiza todas las ordenes menos preguntarme por si deseo guardar los cambios ( no obstante los guarda).

Lo importante es que los guarda, pero que estará pasando?

DBusq ultimo registro insertado en otra tabla

Publicado por Gemelas (22 intervenciones) el 29/09/2011 23:50:18
MR, no me habia percatado de este problema.
El Run que aparece en el cuadro de texto del Formulario 2 (traido del formulario 1) no se guardan los registros en la tabla.

Como se arregla eso.

gracias por tu ayuda.

DBusq ultimo registro insertado en otra tabla

Publicado por Marcos (53 intervenciones) el 30/09/2011 02:19:11
Lo que pasa es que el origen del control del cuadro de texto del Form2 está basado en un cálculo y no en base a un campo de la tabla que sostiene a ese form.
Tendrás que hacer un truco.
En el form2 creas otro cuadro de texto, en el origen del control selecciona RUN de la lista que te ofrece la tabla. Supongamos que por nombre le pones RUNEE. Déjalo invisible (propiedades/Formato/Visible-NO). lo puedes posicionar en cualquier
parte del form.
Luego, en el evento al activar del form2 pones.
Me.RUNEE = ME.nombredelcuadrodetexto (aquel que muestra el RUN).

Es un poco arcaico, pero muy efectivo.

MR

DBusq ultimo registro insertado en otra tabla

Publicado por Gemelas (22 intervenciones) el 30/09/2011 03:33:20
MR, gracias por tu solución. Pero lamentablemente lo que hace cuando hago eso es guardar ese run, aparte de los otros datos. Ademas tengo dos casos =s en este formulario. Osea tengo otro Cuadro de texto Independiente con un calculo que logicamente no loguarda en ningun lado.

Ahora no entiendo una cosa, no puedo usar un cuadro combinado porque no quedaria bien, entonces debo usar otro elemento. O se resuelve con VB.

Gracias por tus ganas de ayudar.