Inicio de Aplicación

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.

1 Respuesta

Respuesta
1
Tu pregunta es muy confusa.
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.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas