Crear registro en formulario con datos de otro formulario
Tengo un pequeño problema: Tengo una tabla de Clientes con un formulario a través del cual introduzco nuevos clientes. Además tengo otra tabla de contactos con otro formulario asociado. En el formulario contactos voy introduciendo datos de posibles clientes. En este formulario he creado un botón denominado "Crear_Cliente" para que cuando un contacto se convierte en cliente, cree un nuevo registro en el Formulario de los clientes (Tabla_Clientes) e inserte un nuevo registro con los valores que tenemos de ese contacto. Una vez creado, quiero que tome el valor Referencia del cliente (Es un autonumérico, por lo que no toma valor hasta que se guarda el registro) y lo asocie al contacto. Es una forma de asociar el contacto inicial con el cliente definitivo.
He creado el siguiente código:
Private Sub Crear_Cliente_Click() Dim Nombre_Comercial As String 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 = Forms![Formulario Contactos]![Subformulario Datos Contactos].Form![Nombre_Comercial] Captura_Cliente = Forms![Formulario Contactos]![Subformulario Datos Contactos].Form![Captura_Cliente] Direccion = Forms![Formulario Contactos]![Subformulario Datos Contactos].Form![Direccion] Codigo_postal = Forms![Formulario Contactos]![Subformulario Datos Contactos].Form![Codigo_postal] Poblacion = Forms![Formulario Contactos]![Subformulario Datos Contactos].Form![Poblacion] Provincia = Forms![Formulario Contactos]![Subformulario Datos Contactos].Form![Provincia] Email = Forms![Formulario Contactos]![Subformulario Datos Contactos].Form![E-mail] Web = Forms![Formulario Contactos]![Subformulario Datos Contactos].Form![Web] Telefono = Forms![Formulario Contactos]![Subformulario Datos Contactos].Form![Telefono] Contactos = Forms![Formulario Contactos]![Subformulario Datos Contactos].Form![Contactos] 'Abrimos el Formulario "Tabla_Clientes" DoCmd.OpenForm ("Tabla_Clientes") 'Añadimos un nuevo registro DoCmd.GoToRecord , , acNewRec If Nombre_Comercial = Null Then Else Forms![Tabla_Clientes]![Nombre] = Nombre_Comercial End If Forms![Tabla_Clientes]![Fecha Alta] = Date Forms![Tabla_Clientes]![Punto de venta] = True Forms![Tabla_Clientes]![Captura_Cliente] = Captura_Cliente If Direccion = Null Then Else Forms![Tabla_Clientes]![Direccion] = Direccion End If If Codigo_postal = Null Then Else Forms![Tabla_Clientes]![Codigo postal] = Codigo_postal End If If Poblacion = Null Then Else Forms![Tabla_Clientes]![Población] = Poblacion End If If Provincia = Null Then Else Forms![Tabla_Clientes]![Provincia_Facturas] = Provincia End If If Email = Null Then Else Forms![Tabla_Clientes]![E-mail] = Email End If If Web = Null Then Else Forms![Tabla_Clientes]![Web] = Web End If If Telefono = Null Then Else Forms![Tabla_Clientes]![Telefono] = Telefono End If If Contactos = Null Then Else Forms![Tabla_Clientes]![Subformulario Contactos_Clientes].Form![Nombre] = Contactos End If 'Grabamos el registro creado DoCmd.RunCommand acCmdSaveRecord 'Tomamos el valor de Referencia (autonumerico) Id_Cliente = Forms![Tabla_Clientes]![Referencia] = Id_Cliente 'Introducimos el valor Referencia en el campo correpondiente del Formulario "Contactos" Forms![Formulario Contactos]![Subformulario Datos Contactos].Form![Id_Cliente] = Id_Cliente DoCmd.RunCommand acCmdSaveRecord End Sub
El problema es que al abrir el Formulario Tabla_Clientes, no crea un nuevo registro, y me inserta los valores en el primer registro que tengo creado. Por otro lado, no toma el valor autonumérico de la referencia del cliente y el valor que inserta en el contacto como referencia es 0.
¿Dónde me he equivocado?