Rellenar solo campo vacios de un campo en una tabla

Consulto a ustedes para que me puedan ayudar a resolver un problema que se que para ustedes no lo es.

Tengo un formulario que contiene un subformulario, el formulario tiene un campo llamado IdCotizacionque lo usaré para identificar los artículos ingresados en el subFormulario para su posterior filtrado. IdCotizacion es autonumerico que viene dado por una tabla distinta a la del subFormulario pero que al presionar el btnGuardar este agregará el mismo número de IdCotizacion a cada artículo del subformulario como mencioné antes.

Adapté un código vba encontrado para que me hiciera trabajo el de actualizar todos los datos del campo IdCotizacion del subFormulario (Estos se guardan en la consulta CotRegistrosCns) para definir cuales campos van ligados a una serie de artículos.

Mi problema es que al crear un nuevo registro requiero añadir una condición que sólo al presionar el botón btnGuardar me actualice los campos que están siendo cotizados con el nuevo valor de NCotizacion y no de todos.

Como puedo hacerlo en el siguiente código:

' Declaramos las variables
    Dim rst As dao.Recordset
'   Creamos el recordset
    Set rst = CurrentDb.OpenRecordset("CotRegistroCns")
'   Nos movemos al primer registro
        rst.MoveFirst
'   Iniciamos el recorrido de registros
        Do Until rst.EOF
'   Cambia número de cotizacion
            rst.Edit
            rst.Fields![NCotizacion].Value = NCotizacion
            rst.Update
        rst.MoveNext
        Loop

1 respuesta

Respuesta
1

Gracias por responder amigo,

Te explico como se verá la tabla cada vez que haga cotizaciones nuevas:

ID    Item     Codigo                  Almacen     Cantidad     Precio     Total     CodCliente      IdCotizacion

1     1          YT580058668      REP01         2                   15             30         0002                0001

2     2          YT580048839      REP01         2                   25             50         0002                0001

3     1         HY501537             REP01         4                   10              40        0005                0002

4     2         CT186535-12       REP01          2                   15              30        0005               0002

Los códigos que me enviaste como los coloco en mi código, no soy experto en VBA.

Gracias por tu tiempo saludos y espero me puedas ayudar

¿Me podrías una copia de la base con datos inventados para que la vea?, es que con lo que me mandaste no me hago la idea.

Mi correo es [email protected] Si lo haces, en el asunto del mensaje pon tu alias José Antonio, ya que si no sé quien me escribe no los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas