Buscar un registro en Recordset para modificarlo
Tengo una tabla para registrar los comerciales. A cada comercial le quiero asignar un cliente, es decir que cada comercial, a su vez figure en la Tabla_Clientes. He creado un código para que al crear un comercial, cree automáticamente el correspondiente cliente, y funciona correctamente.
Ahora quiero crear un código, para que al actualizar los datos de un comercial, los actualice automáticamente en la Tabla_Clientes, pero no me funciona bien, ya que al intentar buscar el registro correspondiente en la Tabla_Clientes, el la línea:
rstTabla_Clientes.FindFirst "Referencia = " & Id_Cliente
Me da error:
"Se ha producido el error '424' en tiempo de ejecución: Se requiere un objeto"
"Referencia" es el campo clave de la tabla de clientes, he verificado que la variable Id_Cliente tomo correctamente el valor correspondiente.
No se como solucionarlo, ¿Alguna idea?
Dim Nombre_Comercial As String
Dim Fecha_alta As Date
Dim Captura_Cliente As String
Dim Direccion As String
Dim Codigo_postal As String
Dim Poblacion As String
Dim Provincia As String
Dim Email As String
Dim Web As String
Dim Telefono As String
Dim Contactos As String
Dim Id_Cliente As Integer
'Toma de valores
Nombre_Comercial = Nz(Forms![Formulario Comerciales]![Nombre])
Fecha_alta = Forms![Formulario Comerciales]![Fecha alta]
Direccion = Nz(Forms![Formulario Comerciales]![Direccion])
Codigo_postal = Nz(Forms![Formulario Comerciales]![Codigo postal])
Poblacion = Nz(Forms![Formulario Comerciales]![Población])
Provincia = Nz(Forms![Formulario Comerciales]![Provincia_Facturas])
Email = Nz(Forms![Formulario Comerciales]![E-mail])
Web = Nz(Forms![Formulario Comerciales]![Web])
Telefono = Nz(Forms![Formulario Comerciales]![Telefono])
CIF = Nz(Forms![Formulario Comerciales]![CIF])
DoCmd.SetWarnings False
If SysCmd(acSysCmdGetObjectState, acForm, "Tabla_Clientes") <> 0 Then
       ' The object is open.
        IsObjectLoaded = True
        DoCmd.Close acForm, "Tabla_Clientes", acSaveYes
    Else
       ' The object is not open.
        IsObjectLoaded = False
    End If
If IsNull(Forms![Formulario Comerciales]![Cliente_Asociado]) Then
    Set dbsBase = CurrentDb
    Dim rstTabla As DAO.Recordset
    Set rstTabla = dbsBase.OpenRecordset("Tabla_Clientes")
    rstTabla.AddNew
        rstTabla![Nombre Comercial] = Nombre_Comercial
        rstTabla![Fecha alta] = Fecha_alta
        rstTabla![CIF] = CIF
        rstTabla![Direccion pedidos] = Direccion
        rstTabla![Codigo postal pedidos] = Codigo_postal
        rstTabla![Población pedidos] = Poblacion
        rstTabla![Provincia_Pedidos] = Provincia
        rstTabla![Telefono] = Telefono
        rstTabla![E-mail] = Email
        rstTabla![Web] = Web
        rstTabla.Update
    'Abrimos el Formulario "Tabla_Clientes"
    DoCmd.OpenForm "Tabla_Clientes"
    DoCmd.GoToRecord acDataForm, "Tabla_Clientes", acLast
    'Tomamos el valor de Referencia (autonumerico)
    Id_Cliente = Forms![Tabla_Clientes]![Referencia]
    'Introducimos el valor de Id_Cliente en la tabla Comerciales
    Forms![Formulario Comerciales]![Cliente_Asociado].Enabled = True
    Forms![Formulario Comerciales]![Cliente_Asociado] = Id_Cliente
    Forms![Formulario Comerciales]![Cliente_Asociado].Enabled = False
Else
    Id_Cliente = Forms![Formulario Comerciales]![Cliente_Asociado]
    Set dbsBase = CurrentDb
    Set rstTabla = dbsBase.OpenRecordset("Tabla_Clientes")
    rstTabla_Clientes.FindFirst "Referencia = " & Id_Cliente
    rstTabla.Edit
        rstTabla![Nombre Comercial] = Nombre_Comercial
        rstTabla![Fecha alta] = Fecha_alta
        rstTabla![CIF] = CIF
        rstTabla![Direccion pedidos] = Direccion
        rstTabla![Codigo postal pedidos] = Codigo_postal
        rstTabla![Población pedidos] = Poblacion
        rstTabla![Provincia_Pedidos] = Provincia
        rstTabla![Telefono] = Telefono
        rstTabla![E-mail] = Email
        rstTabla![Web] = Web
        rstTabla.Update
End If
DoCmd. RunCommand acCmdSaveRecord
        
        
