Access 2003 ADP を作成し、SQL Server 2008 R2 上のデータベースに接続したときに問題が発生しました。私の PC では、テーブルとビューの名前は SQL データベースと同じ (Table1、View1 など) で、作成したレポート フォームをこれらの名前を使用してこれらのテーブルにリンクしました。しかし、同僚が ADP を開いて作成したレポートを実行できるように SQL バックエンドに許可を与えたところ、彼女の PC では「dbo_」プレフィックスが各テーブルとオブジェクト名 (例: dbo_Table1、dbo_View1、など)、これはもちろん、彼女のデータ ソースへの接続を切断します。現時点では Access 2003 に固執しています。Access またはバックエンドでこれを制御する方法はありますか? これを修正する試みとして、SQL のスキーマを dbo に変更しました。考えていただければ幸いです!
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 に答える