es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El acceso requiere la vinculación de tabla de SQL Server cada vez que se abre CurrentDB.

Tengo una base de datos de Access que utiliza SQL Server como backend. Una tabla es la información de un subformulario que se carga en un formulario principal y se muestra en el formulario principal como una hoja de datos. La hoja de datos está diseñada para que los usuarios puedan agregar filas a ella.

La tabla backend del subformulario está definida en SQL Server con una clave primaria [ID]. La clave primaria está vinculada al ID principal del registro actual mostrado en el formulario principal. Luego, el subformulario se filtra por la relación entre la clave primaria de la tabla del subformulario y el ID principal del formulario principal. Nada inusual aquí.

El problema es que cuando se abre por primera vez el formulario principal en Access, no se pueden agregar registros al subformulario. No es hasta que se abre el administrador de tablas vinculadas y se VINCULA la tabla backend que el usuario puede agregar registros al subformulario. Curiosamente, al volver a vincular la tabla, siempre se me pide la clave primaria de la tabla, aunque esté definida en SQL Server.

El subformulario tiene la siguiente configuración:

Entrada de datos: Sí
Permitir adiciones: Sí
Permitir eliminaciones: Sí
Permitir ediciones: Sí
Permitir filtros: Sí
Bloqueo de registros: Sin bloqueos

Aquí está la sentencia CREATE TABLE para la tabla backend:

CREATE TABLE [dbo].[ProjectHealth](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [Project Health] [nvarchar](2000) NULL,
    [Timestamp] [datetime] NULL,
    [ProjectID] [int] NULL,
    [Entered By] [nvarchar](255) NULL
) ON [PRIMARY]
GO

Una vez más, el VINCULADO soluciona el problema. Pero una llamada VBA TableDef.RefreshLink no soluciona el problema. Incluso si restablezco la clave primaria desde VBA.

Sospecho que he modificado algún valor en la configuración del subformulario que ha causado este problema, el cual comenzó a ocurrir después de algunos días de comportamiento normal. Gracias de antemano por cualquier sugerencia que puedan proporcionar.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Acceso a la base de datos con backend de SQL Server: subformulario no permite agregar registros

    Un usuario no puede agregar registros a un subformulario en una base de datos de Access que utiliza SQL Server como backend. La tabla backend del subformulario tiene una clave primaria definida en SQL Server y está vinculada al ID principal del registro actual que se muestra en el formulario principal. El subformulario se filtra en función de la relación entre la clave primaria de la tabla del subformulario y el ID principal del formulario principal.

    Cuando se abre por primera vez el formulario principal, no se pueden agregar registros al subformulario. Solo después de volver a vincular la tabla backend utilizando el administrador de tablas vinculadas, el usuario puede agregar registros al subformulario. Se han verificado los ajustes del subformulario y parecen ser correctos.

    Se sospecha que algo se ha modificado en los ajustes del subformulario que está causando el problema. Se agradecen sugerencias para resolver el problema.

Comments are closed.