Como guardar y volver al registro anterior en formulario?

Tengo un formulario donde hay un campo que necesito que después de ser guardado vuelva automáticamente al registro anterior y me lo muestre. (Seria como una actualización del formulario).

Tengo una consulta insertada en ese formu y si no vuelvo no me la actualiza... O quiza haya alguna forma de actualizar la consulta esa.

2 Respuestas

Respuesta
2

Una solución, que no es la única, puede ser. Si después de ejecutar la consulta le pones.

Me. Requery

Te actualizará el Formulario y te irá al primer registro. Si es que quieres ver ese que has entrado, despues del Me. Requery le pones

DoCmd. GoToRecord,, acLast

Un saludo >> Jacinto

Muchas gracias! ¿Cuál seria la otra posible solución? ¿Por cuestione de datos la consulta la convertí en un su formulario que otra cosa puedo hacer para que guarde el dato y vuelva exactamente un reg para atrás?

Gracias!

Veo que te ha respondido Icue y con una solución adecuada a lo que buscas. Un saludo >> Jacinto

Es buena pero no se porque me detiene el depurador no logro hacerlo funcionar..

Ignoro si es que puedes tener algún elemento en la consulta, qu sea la causa de esa anomalía.

He visto que ahora Icue te ponía el código para ir a un nuevo Registro y mi interpretación es que una vez guardado quieres ir al Registro anterior. Esté o no esté el ... acCmdSaveRecord, si simplemente le pones

DoCmd. GoToRecord,, acPrevious

Te guardará lo que hayas informado y se te irá al registro anterior. No se me ocurre ninguna explicación. Un saludo >> Jacinto

Bueno te comento que la idea era hacerlo sin el boton. Pero bueno como sigo sin lograr hacer lo que necesito que haga estuve tratando de buscar otro recurso que tambien me serviria.

Este es el nuevo formulario que hice. Toma los datos de dos tablas y los almacena en otra, las tablas son:

"ARTICULOS "los campos son; [ARTICULOS.Cod],[ARTICULOS.Descripcion],[ARTICULOS.Precio]

y la tabla

"VENTAS", los campos son;  [VENTAS.Cod],[VENTAS.Cantidad] 

Lo que necesito es que al cargar un Cod, en el campo VENTAS.Cod del formulario (Siempre que el cod exista en la tabla ARTICULOS), cargue y guarde dicho Cod y pase a un campo nuevo. La cantidad esta como valor fijo en "1" y no tiene punto de tabulacion para que eso suceda(De todas formas se puede cambiar la cantidad.).

Espero que se entienda y muchas gracias por responder.

Después de todo este texto, lo que interpreto que necesitas es algo tan simple (o tan dificil), como es registrar una venta.

Si eso es así, mira el Ejemplo de Microsoft Neptuno.mdb que está en la cabecera de ésta página.

http://www.mvp-access.es/emilio/Access/Descargas.asp 

En el Menú General pulsa en Pedidos, y la estructura que tienes que seguir es la que hay en ese ejemplo. Todo eso de actualizar... ya está contemplado ahí. Un saludo >> Jacinto

Estuve viendo los ejemplos y la verdad que el que estoy haciendo me parece que es mucho más cómodo y practico solo me faltaría ese detalle de que tabule solo, para cuando paso el producto por la lectora de código de barras. Lea y sin tocar ninguna tecla pase al siguiente campo. Me gustaría poder pasarte el archivo para que lo veas y luego cuando quede terminado lo comparto para todos. ¿Cómo puedo pasártelo? ¿Por email?

Según avanzamos, ando un poco más despistado, porque ahora aparece un lector de código de barras por primera vez. El ejemplo si quieres me lo puedes pasar a [email protected]

Cuando disponga de él te comentaré, pero ahora mismo ignoro si el avance será una instrucción de Access o del lector. Un saludo >> Jacinto

Ok ahí te paso el archivo, solo necesito que tabule al cargar el código de venta, el resto lo tengo solucionado. Cuando quede terminado te lo paso así lo ves .. gracias.,!" Ahí te va el mail..

Tal como te he comentado por correo y debido a mi inexperiencia en Aplicaciones con lectores de código de barras, no he podido ayudarte en ésta ocasió. Un saludo >> Jacinto

Respuesta

En el evento después de actualizar de ese cuadro de texto ponle

Docmd. Runcommand accmdsaverecord

Docmd. Gotorecord,, acprevious

Muchas gracias por responder!! 

Lo puse justo me dijiste pero me Se detiene el depurador en runcommand"

no de por que puede ser?

¿Lo has puesto en el evento directamente o en un procedimiento de evento en ese evento?

En las propiedades del botón pulsa primero la flecha vertical y selecciona procedimiento de evento. Después pulsa el botón de generar y se abrirá el editor de VB como en la imagen, y ahí en donde se escribe

Bueno te comento que la idea era hacerlo sin el boton. Pero bueno como sigo sin lograr hacer lo que necesito que haga estuve tratando de buscar otro recurso que tambien me serviria.

Este es el nuevo formulario que hice. Toma los datos de dos tablas y los almacena en otra, las tablas son:

"ARTICULOS "los campos son; [ARTICULOS.Cod],[ARTICULOS.Descripcion],[ARTICULOS.Precio]

y la tabla

"VENTAS", los campos son;  [VENTAS.Cod],[VENTAS.Cantidad] 

Lo que necesito es que al cargar un Cod, en el campo VENTAS.Cod del formulario (Siempre que el cod exista en la tabla ARTICULOS), cargue y guarde dicho Cod y pase a un campo nuevo. La cantidad esta como valor fijo en "1" y no tiene punto de tabulacion para que eso suceda(De todas formas se puede cambiar la cantidad.).

Espero que se entienda y muchas gracias por responder.

Por partes, te dije lo del botón para que lo vieras pero se puede poner en cualquier otro evento, por ejemplo, después de actualizar de un cuadro de texto, al recibir el enfoque, etc.

Si vas a escribir( ya que no entiendo que quiere decir cargar) un código en el cuadro de texto Cod del formulario ventas, en el evento Antes de actualizar de ese cuadro puedes poner

if dcount("cod","articulos","cod='" & me.cod & "'")>=1 then

textoquesea.setfocus

Else

docmd.cancelevent

end if

Bárbaro pero eso me sirve siempre y cuando el numero sea de un un dígito, ¿si le pogo "11" va a guardar dos "1" se entiende? Si le pongo "14" va a guardar "1" y "4" ... no puedo tener limitado la longitud de dígitos por que no se que números voy a ingresar..

Gracias!

No lo entiendo. En el cuadro de texto Cod del formulario puedes poner el numero que sea, da igual si escribes 14 como si pones 24567. La instrucción le dice que Antes de "guardar" el valor que hayas escrito o elegido, cuente cuántos registros hay en la tabla con ese número(o texto, da igual), y que si hay uno o más haga una cosa y que en caso de que no haya(else) que el cursor se quede en el mismo cuadro para que cambies el valor.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas