Recorrer filas de subformulario para update

Tengo un formulario el cual contiene un subformulario, he puesto en el formulario un botón para actualizar un campo llamado txtserie del subformulario, en el botón tengo el código

docmd.runsql " update tabla set txtserie where id = txtid

El cual si en el subformulario tengo 20 registros y los modifico solo me cambia 1 registro, pero necesito que me cambie todos los registros que he modificado.

El subformulario esta hecho con un join que muestra el folio, serie, id, fecha, folio y fecha corresponden a otra tabla.

1 Respuesta

Respuesta
2

Sólo te cambia el registro activo. Para que vaya recorriendo todos los registros, en el encabezado del subformulario(por ejemplo) crea un botón de comando y en sus propiedades-Eventos-Al hacer clic crea un procedimiento de evento y entre Private Sub y End Sub escribe

Docmd. Gotorecord,, acfirst

dim i as integer

for i=1 to form.recordset.recordcount

docmd.setwarnings false

docmd.runsql " update tabla set txtserie= lo que sea where id = forms!nombredelformulario!nombredelsubformulario.form!id"

docmd.gotorecord,,acnext

next

Así, cuando lo pulses irá recorriendo los registros y te irá actualizando el campo Txtserie

De todas formas, comprueba que los cuadros de texto se llaman realmente así(Propiedades-Otras-Nombre)

Bien me recorre las filas, solo que no lo actualiza bien, si tengo 10 registro y modifico los 10 como 4 de ellos no cambian, como que solo pasa por el registro pero sin hacer la modificación..

He notado igual que al recorrer uno por uno si llega a tardar si hay más de 30 registro, hay alguna manera de que lo haga en segundo plano, de que no se ha visible, si se puede,?

Aunque lo que más me interesa es que haga el update bien.

Te comento que no me marca error.

No sé que ordenador tendrás o como es la instrucción o como es el subformulario, pero te puedo garantizar que con el mío, es un i5, actualizar 300 registros tarda 2 segundos y medio.

Si quieres, mándame una copia vacía de lo que intervenga en el subformulario, y le echo un vistazo. Mi correo es [email protected] Si lo haces, en el Asunto del mensaje pon tu Alias Dan Dadd, porque si no, ni los abro.

¡Gracias!, Te comento que lo del tiempo lo más seguro es por que uso odbc, la base de datos no es de access, lo que hago con una tabla temporal almaceno los datos para luego hacer el update, creo que buscare como hacer la conexión directa, es una base de datos en firebid

pd. He utilizado tu código en otro formulario con su tabla para recorrer y actualizar y funciona perfecto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas