在Access中,您可以設置表之間的一對多關係。訪問中顯示的SQL Server關係
然後在一個表中有一個(+)符號鏈接到第二個表中的許多行。
當你點擊(+)簽署顯示了所有表2中所涉及到表1
反正有做與SQL Server作爲數據存儲和訪問鏈接表類似的行?
我有我在SQL Server表中的數據設置,並希望使用Access 2010作爲前端。
在Access中,您可以設置表之間的一對多關係。訪問中顯示的SQL Server關係
然後在一個表中有一個(+)符號鏈接到第二個表中的許多行。
當你點擊(+)簽署顯示了所有表2中所涉及到表1
反正有做與SQL Server作爲數據存儲和訪問鏈接表類似的行?
我有我在SQL Server表中的數據設置,並希望使用Access 2010作爲前端。
我不相信你可以使Access自動啓用ODBC鏈接表的子數據表(+)功能。
它與本地訪問表的方法是,SubdatasheetName屬性默認爲[汽車]。並且[Auto],Access將查看定義的關係並選擇相關表作爲子數據表。
對於SQL Server鏈接表,Access不檢查在SQL Server中定義的關係並選擇一個表作爲子數據表。您可以在Access中重新定義SQL Server鏈接表之間的關係(雖然它不提供強制參照完整性),但它仍不會應用子數據表。你可以手動設置SubdatasheetName,鏈接主和鏈接子字段從你的鏈接表的設計視圖性能,但要等到關閉表,只有持續。
我知道通過使用VBA來改變TableDef
以獲得接近你想要的東西的唯一方法。在這個例子中,產品和分類是到SQL Server表的ODBC鏈接。
Dim db As DAO.database
Dim tdf As DAO.TableDef
Dim prp As DAO.Property
Set db = CurrentDb
Set tdf = db.TableDefs("Products")
Set prp = tdf.CreateProperty("SubdatasheetName", dbText, "Categories")
tdf.Properties.Append prp
Set prp = tdf.CreateProperty("LinkMasterFields", dbText, "RefID")
tdf.Properties.Append prp
Set prp = tdf.CreateProperty("LinkChildFields", dbText, "CategoryID")
tdf.Properties.Append prp
Set prp = Nothing
Set tdf = Nothing
Set db = Nothing
最後,子數據是有用的,但他們帶來的其他挑戰。請參閱SubdatasheetName從Problem properties開始的部分。
還有一種方式如何在UI做到這一點:在主表(在VBA例如表產品)
這就是它。