ネットワークドライブに格納されているAccessデータベースのセットがあります。これらのデータベースには独自のテーブルがあり、このドライブ内の他のデータベースの他のテーブルへのリンクがあります。クエリはネットワーク経由で実行されるため、クエリが完了するまでに時間がかかります。必要なオブジェクトをローカルフォルダにコピーしてクエリを実行し、その結果をネットワーク上の元のデータベースに戻すオプションを作成する方法はありますか?ローカルのネットワークドライブからアクセスクエリを実行する
0
A
答えて
1
私もその問題があります。
まず、テーブルのリンクテーブルが保存されている場所を伝えます(「リンクされたテーブルソース」)である:私は二つのことを自分のローカルドライブにソースデータと私のデータベースをコピーして追加します。 1行目は、DBがネットワーク上にあるときに使用する場所を持っている、第二のショーのソースデータは、私はその後、私の場合には(私のローカルPC上で、B :)
ID source path
1 network \\usa0300swg02\sthq\corptax\tax\shared\Common Tables 2016.accdb
2 local b:\Common Tables 2016.accdb
だとき、私が持っているところ私は、AutoExecマクロで設定したVBA機能、私はデータベースをロードするたびに実行するには:
Function relink_tables()
If Left(CurrentDb().Name, 2) = "C:" Or Left(CurrentDb().Name, 2) = "B:" Then
Source = "local"
Else: Source = "network"
End If
Set rs = CurrentDb.OpenRecordset("select * from [linked table source] where source='" & Source & "'")
Source = rs.Fields("path")
For Each R In References
If InStr(R.Name, "Common Tables") > 0 Then Application.References.Remove R
Next R
Application.References.AddFromFile Source
x = 0
Set TDefs = CurrentDb().TableDefs
For Each table In TDefs
If InStr(table.Connect, "Common Tables") = 0 Then GoTo NT
table.Connect = ";DATABASE=" & Source
table.RefreshLink
x = x + 1
NT:
Next table
Finish:
MsgBox "remapped " & x & " tables"
End Function
注:
- これはまた、コードモジュールへの参照を更新します - あなたは、これらの行を削除することができますあなたがそれらを必要としない場合
- あなたの特定の状況に合わせて機能を調整する必要があるかもしれません - 私の場合、すべてのリンクされたテーブルは "Common Tables"と呼ばれるdbからcomであり、そのデータベースのすべてを再リンクします。あなたの正確な要件は、おそらく異なるだろうが、これはあなたに私は毎年、データベースをロールオーバーする場合これも非常に便利です
- を開始する場所を与える可能性 - 私はちょうどリンクテーブル(2016から2017年までの)ソースと再更新します-run the macro
上記のHynek Bernard氏によると、バージョン管理とマルチユーザーアクセスは大きな考慮事項です。私の場合、ローカルコピーを使用しているときにdbを使用している他の人を制御できます。別のオプションは、あなたは、SharePointまたは類似した何かを持っている場合は、ネットワーク上のDBリポジトリとしてそれを使用して、チェックアウトを使用してチェックイン制御のための機能のことです。ダウンロードしたデータの場所を知るためには、まだリンクを手に入れる必要があります。
+0
感謝をアップグレードしています。それは私に始める良い基礎を与えてくれました。私はあなたとHynekがマルチユーザアクセスになると言ったことを考慮に入れます。 –
関連する問題
- 1. Java実行Msアクセスクエリ
- 2. ネットワークドライブからローカルに最新のタイムスタンプ付きFOLDERをコピーする
- 3. アクセスクエリで合計を実行する
- 4. msアクセスクエリを実行する方法
- 5. Excelからアクセスクエリを実行しようとしています
- 6. スラッシュを含むモジュール名でExcel VBAからアクセスクエリを実行
- 7. 開いてSQL Developerでネットワークドライブからsqlファイルを実行
- 8. ノードから実行ファイルを実行する方法、ローカルで動作する
- 9. アクセスクエリからのSSRS変換
- 10. powershellを使用してdetediffとカンマでアクセスクエリを実行する
- 11. リモートクラスタ上のローカルIDEからMapReduceプログラムを実行する方法
- 12. ネットワークドライブからXAMPPをインストールする
- 13. Excel VBA Oracleにリンクするアクセスクエリを実行中
- 14. MFC(VC++)でローカルにネットワークドライブをマウントしますか?
- 15. cygwinで実行されているJavaプログラムからマッピングされたネットワークドライブからFiles()をリストする方法は?
- 16. C#Windows Formsアプリケーションは、マップされたネットワークドライブから遅く実行されます
- 17. 実行する方法* Iは、HTML/JavaScriptからローカルsample.batファイルを実行したいローカル
- 18. ウェブページからローカルにcmdを実行する
- 19. リモートロケーションからPowerShellスクリプトをローカルで実行する
- 20. ウェブサイトからjavascriptをコピーしてローカルで実行する方法
- 21. アクセスクエリからレコードを返す方法
- 22. codepenからpcでローカルに実行する方法
- 23. データベースに存在しないテーブルでアクセスクエリが実行される
- 24. csvから読み取るネットワークドライブVBS
- 25. ローカルXMLソケットサーバー(C#)を使用してローカル.swfから外部.exeを実行
- 26. アクセスクエリは永久に実行されます
- 27. アクセスクエリからテキストを取り除く
- 28. ネットワークドライブからの接続/コピーC#
- 29. ローカルでFirebaseを実行する
- 30. React/Railsアプリをローカルで実行する
これは完璧になるにはあまりにも多くの作業が必要だと思います。これを2人のユーザーが同時に実行したとすると、後で照会を実行したユーザーは前の人の作業を上書きします。私が示唆している最高のものは、SQLサーバーのいくつかの並べ替えに大規模な応答のための –