我已經把我的情況記錄源到SQL Server視圖。現在當我打開它當我在MS Access窗體的記錄源是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
請幫助 - 我該如何解決這個問題?
謝謝,previouse問題解決了,但我得到錯誤「對於具有外連接的視圖無法創建索引它必須是內連接」現在我更改爲內連接並可以更新我的表單中的查詢。但我有一個問題,有沒有辦法創建索引與外連接視圖? –
不,它不能有外連接。這點考慮一下吧。您將要求查詢引擎更新視圖中的某一行,但您正在更新的列實際上並不存在,因爲它在表中,如果來自左側表中的連接。在嘗試做事情時,您應該再次查看文檔。這裏是創建索引視圖的文檔。 https://docs.microsoft.com/en-us/sql/relational-databases/views/create-indexed-views –