Actualizar una tabla con valores del otra tabla

La situación es que tengo dos tablas y quisiera saber como puedo usar una consulta de actualización por código vba ya que por consulta de access no me arroja ningún resultado.

Cuatro campos la tabla1 beben ser actualizados con los valores de la tabla2 solo cuando el valor "código" en las dos sea el mismo.

2 Respuestas

Respuesta
1

Oscar: Te pongo un ejemplo de una consulta de actualizaciíon de una Tabla Reservas, desde otra llamada ReservasAC. Te lo pongo completo y la adecuas a los campos que necesites y así la tienes de Modelo para éste y otros casos.

Public Sub ActualizaReservasTodas()

Dim StrSQL As String
'Antes se han de Anexar los Clientes Nuevos que estarán en ClientesAC
On Error GoTo ActualizaReservasTodas_TratamientoErrores

StrSQL = "UPDATE Reservas LEFT JOIN ReservasAC ON Reservas.IdReserva = ReservasAC.IdReserva "

StrSQL = StrSQL & "SET Reservas.IdCliente = [ReservasAC]![IdCliente], Reservas.NombreCliente = [ReservasAC]![NombreCliente], Reservas.IdEmpleado = [ReservasAC]![IdEmpleado], "
StrSQL = StrSQL & "Reservas.NombreCompleto = [ReservasAC]![NombreCompleto], Reservas.Localizador = [ReservasAC]![Localizador], Reservas.IdDepartamento = [ReservasAC]![IdDepartamento], "
StrSQL = StrSQL & "Reservas.IdFormaPago = [ReservasAC]![IdFormaPago], Reservas.FechaDeLaRva = [ReservasAC]![FechaDeLaRva], Reservas.Visita = [ReservasAC]![Visita], "
StrSQL = StrSQL & "Reservas.FechaReserva = [ReservasAC]![FechaReserva], Reservas.Asiste = [ReservasAC]![Asiste], Reservas.HoraInicio = [ReservasAC]![HoraInicio], "
StrSQL = StrSQL & "Reservas.Periodo = [ReservasAC]![Periodo], "
StrSQL = StrSQL & "Reservas.HoraFin = [ReservasAC]![HoraFin], Reservas.Fecha = [ReservasAC]![Fecha], Reservas.FechaSalida = [ReservasAC]![FechaSalida], "
StrSQL = StrSQL & "Reservas.CampoPlaning = [ReservasAC]![CampoPlaning], Reservas.Recargo = [ReservasAC]![Recargo], Reservas.SubTSinIVA = [ReservasAC]![SubTSinIVA], "
StrSQL = StrSQL & "Reservas.TotalIVA = [ReservasAC]![TotalIVA], Reservas.ImporteTotal = [ReservasAC]![ImporteTotal], Reservas.PagoACuenta = [ReservasAC]![PagoACuenta], "
StrSQL = StrSQL & "Reservas.RestoDeuda = [ReservasAC]![RestoDeuda], Reservas.Confirmado = [ReservasAC]![Confirmado], "
StrSQL = StrSQL & "Reservas.Facturado = [ReservasAC]![Facturado], Reservas.IdFactura = [ReservasAC]![IdFactura], Reservas.Notas = [ReservasAC]![Notas] "

StrSQL = StrSQL & "WHERE ((([Reservas]![IdReserva])=[ReservasAC]![IdReserva]));"

MsgBox "Los datos de la Tabla Reservas se han actualizado con Exito", vbInformation, "TABLA ACTUALIZADA"

StrSQL = ""

ActualizaReservasTodas_Salir:
On Error GoTo 0
Exit Sub
ActualizaReservasTodas_TratamientoErrores:
MsgBox "Error " & Err.Number & " en Procedimiento.: ActualizaReservasTodas de Documento VBA: MdlAnexarActualizar (" & Err.Description & ")"
Resume ActualizaReservasTodas_Salir
End Sub 'ActualizaReservasTodas()

Mis saludos >> Jacinto

Respuesta
1

Puedes hacerlo con consulta de actualización. Mira la imagen

Como verás, no tienen nada en común, pero si la ejecutas, te actualizará sólo los registros en los que coincidan los Id

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas