2017-03-02 72 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