2009-12-15 24 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_作爲表格名稱的前綴並使表格隱藏。

所有這一切說,它仍然是一個聊天客戶端的遺憾替代品。它會降低數據庫的速度,並可能減慢共享驅動器的速度。我會認真思考爲什麼我需要這個,如果這真的是最好的方法。

相關問題