Comment faire un passthrough / passthru requête modifiable?

Dans le Microsoft Access 2007 avec un SQL Server back-end, nous avons l'habitude de prendre une table liée à partir du Serveur SQL de la Forme.RecordSource du formulaire éditable pour une seule table de modification de données. Un local de requête est utilisé pour les tables d'éditions qui combine des champs provenant de plusieurs tables liées. La requête locale doit être mise à jour dans le but de modifier des données dans le formulaire d'édition.

Maintenant, nous prévoyons de remplacer toutes les requêtes locales par Passthrough requêtes pour les utiliser en natif SQL Server tables directement.

J'ai essayé de créer un très simple passthru requête nommée qrySelProductsPassThroughEditable avec le SQL suivant dans la chaîne de

SELECT dbo.Products.ID, dbo.Products.Name FROM dbo.Products;

Le champ ID est le champ d'IDENTITÉ défini comme Clé Primaire dans le Serveur SQL server comme la définition:

CREATE TABLE [dbo].[Products](
    [ID] [int] IDENTITY(1,1) NOT NULL,
        ....
)

Mais la feuille de données retourné par pass d'Accès de la requête n'est pas modifiable à tout. Il n'est donc pas utilisable en tant que .RecordSource d'un formulaire d'édition ni.

C'est au contraire avec le lien qui dit que si un genre de requête contient toutes les Clés Primaires de toutes les tables impliquées, la requête sera modifiable.

Conclusion Ajoutés a Posteriori

Par le biais des discussions ci-dessous, une requête directe dans Microsoft Access 2007 .accdb, .accde ou .accdr (Access runtime) est toujours en lecture seule, il n'est jamais modifiable. Vous devez l'utiliser comme une liste finale, ou en tant que .RecordSource d'un rapport, non pas pour une forme pour laquelle vous devez utiliser une table liée, ou une écriture Normale Requête impliquant des tables liées pour les données IO.

  • Je ne suis pas au courant que se Passe-Par le biais de requêtes peut être mis à jour. J'étais sous l'impression de la produire en lecture seule des jeux d'enregistrements.
  • Si c'est le cas, comment peut-on modifier directement des tables dans SQL Server à l'aide de formulaire d'Accès: il faut passer par des tables liées ?
InformationsquelleAutor jacouh | 2013-09-19