2009-12-15 19 views
0

在VBA(Access 2000)中是否有将信息发送到数据库的两个打开实例之间的窗体?如何在两个相同形式的开放MDB实例之间进行通信?

例如:

用户1已经开DB.MDB的一个实例,他的电脑上,并已FormOne开放。用户2在PC上打开了另一个DB.MDB实例,并打开FormOne。

用户1是否可以管理用户2的FormOne实例上的文本框的内容(即发送类似于聊天客户端的消息)?

+0

为什么?为什么不使用公司电子邮件? –

+0

对于第二个托尼,你为什么认为你需要这样做?你想达到什么目的? –

回答

4

您可以将数据存储到表中并更新定时器上的表单或子表单。

+0

我想到了这个解决方案,但我想知道是否有另一种方法不需要持续查询表格。 – patrick

0

像Remou一样,我认为表格方法就像你将要得到的一样。您可以通过维护具有上次更新值的单记录表来优化查询。然后让你的计时器形式检查自从计时器上次触发以来该值是否已经改变,这将告诉计时器检查聊天表。

在替代方法中,只要读取记录就可以将记录删除,以使表格变小。

你会发现所有的记录创建/删除都会使你的数据库膨胀,所以一定要定期压缩它。

最后,如果所有用户都有权访问共享驱动器,则可以将消息存储在文本文件中而不是表格中。

另一个问题当然是窃听(使用表或文件)。您可以通过以下方式将此最小化: 在写入文本之前对文本进行模糊/加密,并在读取文本时对其进行去混淆。只要它被目标读取,就立即删除该记录。 隐藏文件/表格。对于文件使用:SetAttr myFile,vbSystem或vbHidden 对于表格,使用USys_作为表格名称的前缀并使表格隐藏。

所有这一切说,它仍然是一个聊天客户端的遗憾替代品。它会降低数据库的速度,并可能减慢共享驱动器的速度。我会认真思考为什么我需要这个,如果这真的是最好的方法。

相关问题