ACC: How to Communicate with NetDDE

Last reviewed: June 6, 1997
Article ID: Q99939
The information in this article applies to:
  • Microsoft Access versions 1.0, 1.1, 2.0

SUMMARY

Advanced: Requires expert coding, interoperability, and multiuser skills.

This article demonstrates how to use NetDDE to communicate with Microsoft Access on a remote computer. This article assumes that you are familiar with DDE communications on a local computer, and with the capabilities of Microsoft Access as a DDE server.

This article assumes that you are familiar with Access Basic and with creating Microsoft Access applications using the programming tools provided with Microsoft Access. For more information on Access Basic, please refer to the "Introduction to Programming" manual in Microsoft Access version 1.x, or the "Building Applications" manual, Chapter 3, "Introducing Access Basic," in version 2.0.

MORE INFORMATION

In order to establish a link to a remote application, a DDE share must be created on the remote computer. A DDE share is a name that represents an application name, a topic, and any permissions for that topic. A DDE conversation can only occur with applications and topics assigned to share names on the remote computer. Note that a utility called Network DDE Share Manager (provided with the Windows for Workgroups Resource Kit) can be used to create and edit DDE share names.

How to Create the DDE Share

The following steps demonstrate how to create a DDE share for the Employees table in the sample database NWIND.MDB:

  1. Start the Network DDE Share Manager. On the Share menu, click New.

  2. Type "Northwind Employees" (without the quotation marks) in the Share Name box.

  3. Type "MSACCESS.EXE" (without the quotation marks) in the Application Name box and "NWIND.MDB;TABLE Employees" (without the quotation marks) in the Topic Name box. The password information is optional and can be left empty.

  4. On the File menu, click Save.

How to Communicate with the Remote Microsoft Access DDE Share

NOTE: Before running the following function, make sure that Microsoft Access is running on the remote computer and that the NWIND.MDB database is open.

Create the following procedure in a Microsoft Access module on your local computer:

NOTE: In the following sample code, an underscore (_) is used as a line-continuation character. Remove the underscore from the end of the line when re-creating this code in Access Basic.

   Option Explicit
   Function GetRemoteEmployeeInfo()
      Dim iChan As Integer
      Dim EmpRecord As String, FieldNames As String

      iChan = DDEInitiate("\\RemoteMachineName\NDDE$", _
      "Northwind Employees")

      FieldNames = DDERequest(iChan, "FieldNames")
      MsgBox FieldNames, 0, "Employee Table Field Names"

      On Error Resume Next
      EmpRecord = DDERequest(iChan, "FirstRow")
      Do Until EmpRecord = ""
         MsgBox EmpRecord, 0, "Employee Record"
         EmpRecord = ""
         EmpRecord = DDERequest(iChan, "NextRow")
      Loop
   End Function

Change the first argument of the DDEInitiate command (RemoteMachineName) to reference the name of your remote computer.

When you run this function from the Immediate window, a message box will be displayed that shows a list of field names in the Employees table. Next, a series of message boxes will appear displaying each record from the table. The field data will be delimited by a tab character.

The DDEInitiate Statement

Note the arguments used in the DDEInitiate command to establish the link with the remote share. The application name is the net DDE server application NDDE$ located on the remote computer "\\RemoteMachineName". NDDE$ is a system service application that is run automatically by Windows for Workgroups in the background. This application is always running and present when Windows for Workgroups is running and cannot be terminated.

When NDDE$ receives the topic "Northwind Employees" it checks the list of available DDE shares on the local computer. If it finds the share, it will validate any permissions on the share and prompt for a password if one is required. After the validation is complete, NDDE$ establishes a local DDE link with the application name and topic assigned to the share name.

Once the link has been established, communication with the client application proceeds as if it were another application on the local computer. NDDE$ becomes the liaison between the two applications across the network.

REFERENCES

For more information on Microsoft Access as a DDE server, search on "DDE server," using the Microsoft Access Help Index.

Microsoft Windows for Workgroups "Resource Kit," Chapter 11


Additional query words: dynamic data exchange
Keywords : IntpDde kbinterop
Version : 1.0 1.1 2.0
Platform : WINDOWS
Hardware : X86
Issue type : kbhowto


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: June 6, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.