2017-03-02 44 views
0

我有一個分佈在多個用戶中的小型Access數據庫。他們不在我的網絡中,所以我們用一個小型的Access數據庫來設置它們,該數據庫鏈接到我們發送給他們的txt文件,所以他們有能力運行罐頭查詢/報告(這只是我們主數據庫報告的副本)。MS-Access用戶無法訪問鏈接的文本文件

問題是,如果兩個用戶試圖運行報告(只有一個源表 - 鏈接的文本文件),則其中一個被鎖定。我們檢查了文件夾,並且每個人都可以讀取/寫入文件夾(但是我們只是讀取文本文件,如果他們具有寫入權限,那麼這一點很重要?)。

有誰知道爲什麼會發生這種情況? Access會自動鏈接到外部文本文件嗎?

+0

(1)用戶將該文件放在哪裏,並由多個用戶共享? (2)多個用戶共享相同的Access數據庫嗎? (3)請定義「鎖定」......這是否意味着兩個用戶無法進入Access,或者他們無法訪問相同的文件? (4)只是好奇Access如何訪問文本文件? –

+0

用戶在其本地驅動器上有訪問數據庫的副本。外部文本文件位於共享網絡文件夾中。數據庫的所有副本鏈接到此單個文本文件。當第二個用戶嘗試運行報告而其他人正在使用他們自己的mdb時,他們會得到一個文件被鎖定的錯誤。 txt文件已鏈接。它沒有導入。 – geeFlo

+0

這是我第一次嘗試將Access連接到一個txt文件。我通常使用MySQL或Access。我從來沒有見過這個鎖發生過。 – geeFlo

回答

0

我終於剛剛創建了一個linker.MDB,它將位於客戶端位置的data.TXT文件所在的共享文件夾中。 (我無法訪問他們的網絡,並依靠我的聯繫人將文件放在他們需要去的地方)。

當用戶打開他們的client.MDB文件的本地PC上,它會對linker.MDB一個鏈接表,被稱爲「dailydata」

而且,他們的client.mdb將運行代碼來打開在linker.MDB數據庫中,運行以下命令導入txt文件,然後關閉linker.MDB數據庫。這可確保linker.MDB中的數據始終保持最新。我可能會玩弄日期屬性,只讓第一次調用導入文本文件,但我們會看到。

strPath = CurrentProject.Path 

strFullName = strPath & "\data.txt" 

strTable = "dailydata" 

DoCmd.TransferText acImportDelim, , strTable, strFullName, True