Ms access 如何在具有相同表单的两个开放MDB实例之间进行通信?

Ms access 如何在具有相同表单的两个开放MDB实例之间进行通信?,ms-access,forms,vba,Ms Access,Forms,Vba,在VBA(Access 2000)中,在数据库的两个打开实例之间是否仍有向窗体发送信息的方法 例如: 用户1在其PC上打开了DB.MDB的实例,并打开了FormOne。用户2在其PC上打开了另一个DB.MDB实例,并打开了FormOne 用户1是否可以在用户2的FormOne实例上上传文本框的内容(即发送类似于聊天客户端的消息)?您可以将数据存储到表中,并在计时器上更新表单或子表单。您可以将数据存储到表中,并在计时器上更新表单或子表单。与Remou一样,我认为表格法是你将要得到的。您可以通过维护

在VBA(Access 2000)中,在数据库的两个打开实例之间是否仍有向窗体发送信息的方法

例如:

用户1在其PC上打开了DB.MDB的实例,并打开了FormOne。用户2在其PC上打开了另一个DB.MDB实例,并打开了FormOne


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

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

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

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

在另一种情况下,您可以在读取记录后立即将其删除,以保持表小

但是,您会发现所有记录的创建/删除都会使数据库膨胀,因此请确保定期压缩它

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

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


尽管如此,它仍然将是一个令人遗憾的聊天客户端替代品。这将降低数据库的速度,并可能降低共享驱动器的速度。我会仔细思考为什么我需要这个,如果这真的是最好的方法

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

在另一种情况下,您可以在读取记录后立即将其删除,以保持表小

但是,您会发现所有记录的创建/删除都会使数据库膨胀,因此请确保定期压缩它

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

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


尽管如此,它仍然将是一个令人遗憾的聊天客户端替代品。这将降低数据库的速度,并可能降低共享驱动器的速度。我会仔细思考为什么我需要这个,如果这真的是最好的方法

我想到了这个解决方案,但我想知道是否有另一种方法不涉及表的不断查询。我想到了这个解决方案,但我想知道是否有另一种方法不涉及表的不断查询。为什么?为什么不直接使用公司电子邮件?为了支持Tony,你认为你为什么需要这样做?你想完成什么?为什么?为什么不直接使用公司电子邮件?为了支持Tony,你认为你为什么需要这样做?你想完成什么?