1

我在创建 Access 2003 ADP 并连接到 SQL Server 2008 R2 上的数据库时遇到问题。在我的 PC 上,表和视图名称与 SQL db 中的名称相同(例如,Table1、View1 等),并且我使用这些名称将我构建的报表表单链接到这些表。但是,当我授予同事访问 SQL 后端的权限以便她可以打开 ADP 并运行我构建的报告时,它失败了,因为在她的 PC 上,每个表和对象名称上都出现了“dbo_”前缀(例如,dbo_Table1、dbo_View1、等),这当然会中断与她的数据源的连接。我现在坚持使用 Access 2003。有没有办法在 Access 或后端控制这个?我确实将她在 SQL 中的架构更改为 dbo 以尝试解决这个问题,没有骰子。想法赞赏!

4

1 回答 1

2

我工作的团队使用一个小型 VBA 实用程序在针对新链接的表运行代码之前删除所有这些“dbo_”前缀。它对我们很有效。您可以以最方便的方式将其添加到您的 Access 应用程序中。希望能帮助到你。祝你的项目好运。

Public Sub Zap_dboLabelsOnLinks()

    Dim dbDef As Database
    Dim tblDef As TableDef

    Set dbDef = CurrentDb

    'loop through each table in the database
    For Each tblDef In dbDef.TableDefs  
        If UCase(Left(tblDef.Name, 4)) = UCase("dbo_") Then
            tblDef.Name = Right(tblDef.Name, (Len(tblDef.Name) - 4))
        End If    
    Next tblDef

Exit Sub
于 2014-08-12T15:55:15.127 回答