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 SubEl 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?






