簡體   English   中英

當MS Access中我的表單的記錄源在SQL Server上時,視圖不可更新

[英]When record source of my form in MS Access is on SQL Server, view is not updatable

我已將表單的記錄源設置為SQL Server視圖。 現在當我打開

DoCmd.OpenForm "frmDocuments", WhereCondition:=varWhere
Forms!frmDocuments.SetFocus

它會被打開,但不是可更新的。 我想知道,這正常嗎? 我們在Access窗體中打開的每個視圖都不可更新。

我在網上閱讀,如果我創建唯一索引以供查看,它將可以更新。

現在,當我嘗試使用此代碼在視圖上創建索引時

CREATE UNIQUE CLUSTERED INDEX i_Documents 
    ON qryDocuments([Owner Document Number])

我得到一個錯誤

“模式綁定”

然后我嘗試使用架構綁定創建視圖,但出現錯誤

無法進行架構綁定視圖“測試”,因為名稱“ tblDiscipline”對於架構綁定無效。 名稱必須采用兩部分格式,並且對象不能引用自身。

我使用的代碼如下:

CREATE VIEW qryDocuments 
WITH SCHEMABINDING  
AS  
    SELECT 
        tblDocuments.[Owner Document Number], tblDocuments.[Sazeh Document 
   Number], 
        tblDocuments.[Document Title], tblDocuments.[Project No], 
        tblDocuments.Originator, tblOriginator.[Originator Des], 
        tblDocuments.Zone, tblDocuments.Unit, tblDocuments.Discipline, 
        tblDiscipline.DiscDesc, tblDocuments.[Document Type],  
        tblDocumentType.[TYPE Description], tblDocuments.SheetNumber
    FROM 
        tblDiscipline 
    RIGHT JOIN 
        ((tblDocumentType 
    RIGHT JOIN 
        tblDocuments ON tblDocumentType.TYPE = tblDocuments.[Document Type]) 
    LEFT JOIN 
        tblOriginator ON tblDocuments.Originator = tblOriginator.Originator)  
        ON tblDiscipline.DiscCode = tblDocuments.Discipline
  GO   

請幫忙-我該如何解決這個問題?

讓我們從格式化文本查詢開始。 請注意,我是如何使用別名的,這大大減少了代碼量,並使查看發生的事情變得容易得多。 這些聯接是另外一回事。 用這種模式將左右聯接組合在一起,表明這是由查詢工具編寫的。

SELECT d.[Owner Document Number]
    , d.[Sazeh Document Number]
    , d.[Document Title]
    , d.[Project No]
    , d.Originator
    , o.[Originator Des]
    , d.Zone
    , d.Unit
    , d.Discipline
    , dis.DiscDesc
    , d.[Document Type]
    , dt.[TYPE Description]
    , d.SheetNumber
FROM tblDiscipline dis
RIGHT JOIN tblDocuments d ON dis.DiscCode = d.Discipline
RIGHT JOIN tblDocumentType dt ON dt.TYPE = d.[Document Type]
LEFT JOIN tblOriginator o ON d.Originator = o.Originator

現在您可以實際讀取此查詢了,錯誤消息已經很清楚了。 具體看這部分。 “名稱必須為兩部分格式”。 如果不指定對象的架構,則無法架構綁定視圖。 您可能需要在此處查看文檔。 https://docs.microsoft.com/zh-cn/sql/t-sql/statements/create-view-transact-sql專門查看有關“可更新視圖”的部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM