ACC: Connecting to the First Available Network Drive (90861)



The information in this article applies to:

  • Microsoft Access 1.0
  • Microsoft Access 1.1
  • Microsoft Access 2.0

This article was previously published under Q90861

SUMMARY

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

To make a network connection with the Windows application programming interface (API), you can use an unused logical drive letter or a universal naming convention (UNC) name (\\SERVER\SHARE). You can call the Windows API function GetDriveType() from an Access Basic module to find the first available drive letter and then make a network connection to this available drive.

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

Use the following steps to find the first free drive and make a network connection:

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.
  1. Declare the following API functions in a module's Declarations section:
          '------------------------------------------------------------------
          Option Explicit
    
          Declare Function GetDriveType% Lib "kernel" (ByVal nDrive%)
          Declare Function WNetAddConnection% Lib "User"(ByVal lpszNetPath$,_
                                                        ByVal lpszPassword$,_
                                                        ByVal lpszLocalName$)
          '------------------------------------------------------------------
    						
  2. Type the following function to return the first free drive and make the new connection:
          Function FreeDrive ()
             Dim DriveNum, FirstFreeDrive
             Dim FirstDrive%, Results%
    
             DriveNum = -1
    
             Do
                DriveNum = DriveNum + 1
                FirstDrive% = GetDriveType(DriveNum)
             Loop Until FirstDrive% = 0
    
             FirstFreeDrive = Chr$(DriveNum + 65) + ":"
    
             'Substitute the appropriate server share and password.
             Results% = WNetAddConnection("\\server\share", "password", _
                                           FirstFreeDrive)
          End Function
    						

REFERENCES

Microsoft Access "Introduction to Programming," version 1.0, page 8

Modification Type:MajorLast Reviewed:5/9/2003
Keywords:kbinfo kbprogramming KB90861