ACC: Connecting to the First Available Network Drive

ID: Q90861


The information in this article applies to:


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


Keywords          : kbprg 
Version           : 1.0 1.10 2.0
Platform          : WINDOWS 
Issue type        : kbinfo 

Last Reviewed: March 10, 1999