1

Access 2003 ADP を作成し、SQL Server 2008 R2 上のデータベースに接続したときに問題が発生しました。私の PC では、テーブルとビューの名前は SQL データベースと同じ (Table1、View1 など) で、作成したレポート フォームをこれらの名前を使用してこれらのテーブルにリンクしました。しかし、同僚が ADP を開いて作成したレポートを実行できるように SQL バックエンドに許可を与えたところ、彼女の 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 に答える