Agradezco la voluntad para colaborar con las personas que poco sabemos de esto.. Mi pregunta es que código utilizo para que la aplicación de base de datos al iniciarse verifique si el archivo *.MDB existe en la ubicación donde inicialmente se dejo y sino entonces que se active una caja de dialogo para ubicarla. Ademas si esta ubicación cambia entonces que las conexiones de datos no se pierdan, es decir que la fuente de datos de los formularios no se pierdan con este cambio o se haga automáticamente.
Hola ... mi aclaración es la siguiente: Estoy trabajando en una aplicación de base de datos para una intranet, utilizo ADO, Deseo que al abrir la aplicación esta verifique si el archivo de access donde la aplicación se suple de datos se encuentra en la ubicación que predeterminadamente se le asigno ej. F:\MIAPLICACION\MIPROGRAMA.MDB si esta en la ubicación correcta debe continuar cargando el programa, sino se encuentra es decir si lo han movido, debe activarse una caja de dialogo de ABRIR para indicar donde se encuentra el archivo MI PROGRAMA.MDB y así esta aplicación pueda grabar nuevamente la nueva ubicación del archivo fuente de datos para los formularios. Esta dirección me parece que debe grabarse en un archivo INI pero no se la manera de hacerlo. Te agradezco la ayuda y la paciencia.. muchas gracias..
Vamos por pasos: 1- Añade a tu proyecto (al formulario inicial) el control "Microsoft Common Dialog Control". 2- Copia en este formulario éste código: ' -- Desde aquí -- Option Explicit #If Win32 Then 'Declaraciones para 32 bits Private Declare Function GetPrivateProfileString Lib "Kernel32" Alias "GetPrivateProfileStringA" _ (ByVal lpApplicationName As String, ByVal lpKeyName As Any, _ ByVal lpDefault As String, ByVal lpReturnedString As String, _ ByVal nSize As Long, ByVal lpFileName As String) As Long Private Declare Function WritePrivateProfileString Lib "Kernel32" Alias "WritePrivateProfileStringA" _ (ByVal lpApplicationName As String, ByVal lpKeyName As Any, _ ByVal lpString As Any, ByVal lpFileName As String) As Long #Else 'Declaraciones para 16 bits Private Declare Function GetPrivateProfileString Lib "Kernel" _ (ByVal lpApplicationName As String, ByVal lpKeyName As Any, _ ByVal lpDefault As String, ByVal lpReturnedString As String, _ ByVal nSize As Integer, ByVal lpFileName As String) As Integer Private Declare Function WritePrivateProfileString Lib "Kernel" _ (ByVal lpApplicationName As String, ByVal lpKeyName As Any, _ ByVal lpString As Any, ByVal lplFileName As String) As Integer #End If Public Function LeerIni(lpFileName As String, lpAppName As String, lpKeyName As String, Optional vDefault) As String 'Los parámetros son: 'lpFileName: La Aplicación (fichero INI) 'lpAppName: La sección que suele estar entre corchetes 'lpKeyName: Clave 'vDefault: Valor opcional que devolverá ' Si no se encuentra la clave. ' Dim lpString As String Dim LTmp As Long Dim sRetVal As String 'Si no se especifica el valor por defecto, 'asignar incialmente una cadena vacía If IsMissing(vDefault) Then lpString = "" Else lpString = vDefault End If sRetVal = String$(255, 0) LTmp = GetPrivateProfileString(lpAppName, lpKeyName, lpString, sRetVal, Len(sRetVal), lpFileName) If LTmp = 0 Then LeerIni = lpString Else LeerIni = Left(sRetVal, LTmp) End If End Function Sub GuardarIni(lpFileName As String, lpAppName As String, lpKeyName As String, lpString As String) 'Guarda los datos de configuración 'Los parámetros son los mismos que en LeerIni 'Siendo lpString el valor a guardar ' Dim LTmp As Long LTmp = WritePrivateProfileString(lpAppName, lpKeyName, lpString, lpFileName) End Sub Private Sub Form_Load() Dim fs, a Set fs = CreateObject("Scripting.FileSystemObject") If fs.Fileexists(LeerIni(App.Path & "\variables.ini", "Inicio", "DB")) = False Then CommonDialog1.DialogTitle = "Guardar archivo:" CommonDialog1.Filter = "Base de Datos (*.mdb)|*.mdb" CommonDialog1.ShowSave GuardarIni App.Path & "\variables.ini", "Inicio", "DB", CommonDialog1.FileName End If End Sub ' -- Hasta aquí -- Y ya está, todo solucionado.