When you use multiple instances of WinWedge to bring data from several devices into an MS Access database, you may lose a data record being sent from one device if Access is still processing a record from another device.
The following procedure should correct this problem.
- Launch Access and open the database.
- Open the Tools menu, and select Options.
- Select the Advanced tab in the Options dialog box.
In the DDE Operations section, make sure that:
- the Ignore DDE Requests option is NOT checked; and
- the Enable DDE Refresh option IS checked.
- Set the OLE/DDE Timeout (sec) value to 30.
- Set the Number of Update Retries value to 2.
- Click the OK button.
These settings should allow you to reliably process all DDE commands from multiple instances of WinWedge, even if multiple data records arrive simultaneously.
Another thing to check is that you are not doing too much in any of the macros that are forced to run by WinWedge. In other words, in your Access functions that are doing the DDERequests back to the WinWedge, you should grab the data from WinWedge and get out as quickly as possible. If you need to perform lengthy operations in these functions, then you may need to throw a few DoEvents statements into the code to yield processor time to other routines while you are in the middle of an intensive operation.