Sql server 如何使用VBA选择正确的数据库架构
我在SQL server上创建了一个带有链接表的Access 2010数据库。 主窗体上的按钮调用存储过程,使用户可以从各自的源文件(主要是Excel表)中添加数据。存储过程和触发器的开发已经外包 该数据库已在不同的地点/国家推出。 为了提高性能并防止用户从他们自己的管理层以外的位置访问数据,已决定更新数据库。这家发展中的公司现在提出了以下建议: 数据库将被划分为不同的模式,每个位置将获得自己的模式。模式的选择将基于ActiveDirectory属性中定义的用户区域的位置。我可以将此位置存储在公共变量中 为了在SQL server上创建表的链接,我使用了Access内置向导。目前,表的连接描述如下: ODBC;Description=NETWPROD;驱动程序=SQL Server;服务器=CCMDB11,cc.acme.corp;可信连接=是;app=微软Office 2010;数据库=1PRD;表=dbo.1PRD_合规性 我向各位提出的问题如下: 是否可以在表说明中添加类似“SCHEMA=no”的属性。如果是,我如何使用Access VBA添加它 或 如何在使用Access VBA登录时将用户重定向到正确的基于位置的模式 或 如何将用户重定向到SQL server上的正确视图,该视图已过滤了相关位置上的数据Sql server 如何使用VBA选择正确的数据库架构,sql-server,ms-access,vba,database-schema,Sql Server,Ms Access,Vba,Database Schema,我在SQL server上创建了一个带有链接表的Access 2010数据库。 主窗体上的按钮调用存储过程,使用户可以从各自的源文件(主要是Excel表)中添加数据。存储过程和触发器的开发已经外包 该数据库已在不同的地点/国家推出。 为了提高性能并防止用户从他们自己的管理层以外的位置访问数据,已决定更新数据库。这家发展中的公司现在提出了以下建议: 数据库将被划分为不同的模式,每个位置将获得自己的模式。模式的选择将基于ActiveDirectory属性中定义的用户区域的位置。我可以将此位置存储在公
非常感谢您的帮助。我只回答您的第一个问题,尽管您可以使用相同的技巧来回答其他问题 您可以通过
TableDef.Connect
属性更改连接字符串
Public Sub AddNoSchema()
Dim db As DAO.Database
Set db = CurrentDb()
Dim tdf As Variant 'DAO.TableDef
For Each tdf In db.TableDefs
If tdf.Connect LIKE "*SQL Server*" Then
tdf.Connect = tdf.Connect & ";SCHEMA=no"
tdf.RefreshLink
End If
Next tdf
End Sub
>>>如何在使用Access VBA登录时将用户重定向到正确的基于位置的模式;table=dbo.1PRD_compliance表示您正在使用模式
dbo
(默认模式)。只需从相应的模式链接到表即可。另请参见Andre,谢谢您的回复。然而,问题是一些用户可以访问不同的模式。当用户只访问一个模式登录时,应将用户定向到相关模式,通过多个区域,用户应能够选择区域,从而定向到相应的模式。Erik,感谢您的回复。你给出答案的方式使问题看起来很容易解决。我一定会在这一个早!如果有效,请选择我的答案作为正确答案,以表明此问题已解决