2017-03-02 4 views
0

私はいくつかのユーザーに分散された小さなAccessデータベースを持っています。彼らは私のネットワーク上にないので、送信するtxtファイルにリンクする小さなAccessデータベースで設定しているので、cannedクエリ/レポートを実行することができます(これはメインデータベースのレポート)。MS-Accessユーザーはリンクされたテキストファイルにアクセスできません

2人のユーザーがレポートを実行しようとすると(ソーステーブルが1つしかない - リンクされたテキストファイル)、そのうちの1つがロックアウトされるという問題があります。私たちはフォルダをチェックし、誰もがフォルダへの読み取り/書き込みアクセス権を持っています(ただし、テキストファイルを読み込んでいるだけなので、書き込み権限があれば問題あります)。

これはなぜ起こっているのですか? Accessは自動的に外部テキストファイルへのリンクを排他的にしますか?

+0

(1)ユーザーはファイルをどこに置くのですか?複数のユーザーがファイルを共有する場所はどこですか? (2)複数のユーザーが同じAccessデータベースを共有していますか? (3)「ロックアウト」を定義してください...つまり、2人のユーザーがアクセスできなくなったり、同じファイルにアクセスできないということですか? (4)アクセスがテキストファイルにどのようにアクセスしているのか不思議です。 –

+0

ユーザーは、ローカルドライブ上にアクセスデータベースのコピーを持っています。外部テキストファイルは、共有ネットワークフォルダにあります。データベースのすべてのコピーは、この1つのテキストファイルにリンクします。 2人目のユーザーが他のユーザーが自分のmdbを使用しているときにレポートを実行しようとすると、ファイルがロックされるというエラーが発生します。 txtファイルがリンクされています。それはインポートされません。 – geeFlo

+0

これはAccessをtxtファイルにリンクする私の最初の試みです。私は通常、MySQLまたはAccessを使用します。私はこのロックが以前に起こるのを見たことがない。 – geeFlo

答えて

0

最後に、クライアントの場所にあるdata.TXTファイルと同じ共有フォルダにあるlinker.MDBを作成しました。 (私はネットワークにアクセスすることはできませんし、私の連絡先に依存してファイルを配置する必要があります)。 「dailydata」

呼ば

ユーザーは自分のローカルPC上の自分のclient.MDBファイルを開くと、それはlinker.MDB上のテーブルへのリンクを持つことになり、また、そのclient.mdbが開くようにコードを実行しますlinker.MDBデータベースを開き、次のコマンドを実行してtxtファイルをインポートし、linker.MDBデータベースを閉じます。これにより、linker.MDB内のデータが常に最新の状態で更新されます。私は最初の呼び出しがテキストファイルをインポートできるようにするために、日付属性を使いこなすかもしれませんが、わかります。

strPath = CurrentProject.Path 

strFullName = strPath & "\data.txt" 

strTable = "dailydata" 

DoCmd.TransferText acImportDelim, , strTable, strFullName, True 
関連する問題