Actualizar campos de tabla rango inicio-fin

Tengo una tabla ALMACEN en la que mediante un formulario independiente introduzco datos de entrada.

Los campos del formulario son:

Fecha, concepto, inscripcion, incio serie, fin serie, observaciones.

Con el evento en el botón GUARDAR:

Private Sub GUARDAR_Click()
Dim ISERIE, FSERIE As String
Dim FECHA As Date
IANILLA = Me.InicioSerie
FANILLA = Me.FinSerie
For i = IANILLA To FANILLA
CurrentDb.Execute "INSERT INTO ALMACEN(FECHAENTRADA, INSCRIPCION, SERIE, TIPOENTRADA, OBSERVACIONES) VALUES (#" & Me.FECHA & "#, '" & Me.INSCRIPCION & "', '" & Format(i, "00000") & "', '" & Me.Concepto & "', '" & Me.OBSERVACIONES & "')"
Next i
MsgBox "ANILLAS GRABADAS EN SU ALMACEN", vbInformation, "PROCESO COMPLETADO"
End Sub

Me funciona perfectamente, gracias a respuestas de este foro.

Ahora quiero a través de otro formulario independiente modificar algunos campos de esta tabla. He hecho lo miso en otro formulario independiente, pero he cambiado el evento en el botón guardar por:

Private Sub GUARDAR_Click()
Dim ISERIE, FSERIE As String
Dim FECHA As Date
IANILLA = Me.InicioSerie
FANILLA = Me.FinSerie
For i = IANILLA To FANILLA
CurrentDb.Execute "UPDATE ALMACEN SET UDSALIDA = 1, TIPOSALIDA = '" & Me.Concepto & "', OBSERVACIONES = '" & Me.OBSERVACIONES & "' WHERE SERIE = '" & i & "'"
Next i
MsgBox "ANILLAS GRABADAS EN SU ALMACEN", vbInformation, "PROCESO COMPLETADO"
End Sub

Realiza el proceso y muestra el mensaje de completado sin darme ningún error,  pero entro en la tabla y no ha hecho nada. 

No sé si esta es la manera correcta de hacerlo, el caso es que no funciona y no sé por qué, no me da ningún error.

1 respuesta

Respuesta
2

Como i es un número, el criterio deberías ponerlo como:

... WHERE Serie=" & i

Muchísimas gracias. Funciona perfectamente así. 

Ahora tengo un "pequeño problema", seguramente será una tontada, pero no consigo arreglarlo, en la tabla ALMACEN tengo un campo calculado que une los campos INSCRIPCIÓN, que es texto, Y SERIE, que es número, pero al hacerlo me borra los ceros a la izquierda del campo SERIE, y necesitaría mantenerlos, no sé como puedo darle formato en el generador de expresiones o en las propiedades del campo. 

Muchas gracias, otra vez. 

Usa la función Format() en el campo Serie. Por ejemplo, si quieres que Serie tenga 5 dígitos al encadenar:

Inscripcion & Format(Serie;"00000")

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas