El campo activo debe coincidir con la clave de combinación
Publicado por David (5 intervenciones) el 26/12/2020 19:24:33
Buenas
He buscado por todas partes, pero no he encontrado ninguna solución.
Voy a ver si me explico bien.
Tengo un formulario de proveedores que depende de la tabla proveedores, y un formulario registro de facturas que se abre con un botón del formulario "proveedores", y que depende de una tabla RegistroFacturas.
Hay 3 campos coincidentes (IdProveedor, Nombre y NumIdentificacion). En la tabla Proveedores, IdProveedor es la clave principal, autonumérico creciente, en la tabla RegistroFacturas es numérico; las tablas están relacionadas uno a varios (uno=Proveedores, varios=RegistroFacturas), con la opción 3 (todos los registros de la tabla varios y solo los coincidentes de la tabla uno), aunque lo he probado con todas las opciones.
La relación entre los formularios es la misma y utiliza de clave el campo IdProveedor.
Cuando hago clic en el botón del formulario de proveedores para abrir el de facturas, tengo este código en el "al activar registro":
Private Sub Form_Current()
If CurrentProject.AllForms("ProveedoresFrm").IsLoaded Then
NumIdent = Forms!ProveedoresFrm!NumIdent
IdProveedor = Forms!ProveedoresFrm!IdProveedor
Nombre = Forms!ProveedoresFrm!Nombre
End If
End Sub
Para que me identifique, de forma automática, los campos coincidentes en los dos registros (Factura y Proveedor).
Pues bien, me sale este error:
"Se ha producido el error '-214735567 (80020009)' en tiempo de ejecución:
El campo activo debe coincidir con la clave de combinación '?' en la tabla que sirve como lado 'uno' de la relación uno a varios. Escriba un registro en la tabla del lado 'uno' con el valor de clave deseado y después realice la entrada con la clave de combinación en la tabla del lado 'varios".
Si le doy a depurar, me indica el error en la línea
IdProveedor = Forms!ProveedoresFrm!IdProveedor
He revisado las relaciones, los campos, las tablas y no encuentro el error.
¿alguien me puede echar una mano?
Muchas gracias por anticipado
He buscado por todas partes, pero no he encontrado ninguna solución.
Voy a ver si me explico bien.
Tengo un formulario de proveedores que depende de la tabla proveedores, y un formulario registro de facturas que se abre con un botón del formulario "proveedores", y que depende de una tabla RegistroFacturas.
Hay 3 campos coincidentes (IdProveedor, Nombre y NumIdentificacion). En la tabla Proveedores, IdProveedor es la clave principal, autonumérico creciente, en la tabla RegistroFacturas es numérico; las tablas están relacionadas uno a varios (uno=Proveedores, varios=RegistroFacturas), con la opción 3 (todos los registros de la tabla varios y solo los coincidentes de la tabla uno), aunque lo he probado con todas las opciones.
La relación entre los formularios es la misma y utiliza de clave el campo IdProveedor.
Cuando hago clic en el botón del formulario de proveedores para abrir el de facturas, tengo este código en el "al activar registro":
Private Sub Form_Current()
If CurrentProject.AllForms("ProveedoresFrm").IsLoaded Then
NumIdent = Forms!ProveedoresFrm!NumIdent
IdProveedor = Forms!ProveedoresFrm!IdProveedor
Nombre = Forms!ProveedoresFrm!Nombre
End If
End Sub
Para que me identifique, de forma automática, los campos coincidentes en los dos registros (Factura y Proveedor).
Pues bien, me sale este error:
"Se ha producido el error '-214735567 (80020009)' en tiempo de ejecución:
El campo activo debe coincidir con la clave de combinación '?' en la tabla que sirve como lado 'uno' de la relación uno a varios. Escriba un registro en la tabla del lado 'uno' con el valor de clave deseado y después realice la entrada con la clave de combinación en la tabla del lado 'varios".
Si le doy a depurar, me indica el error en la línea
IdProveedor = Forms!ProveedoresFrm!IdProveedor
He revisado las relaciones, los campos, las tablas y no encuentro el error.
¿alguien me puede echar una mano?
Muchas gracias por anticipado
Valora esta pregunta


0