Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/02/2006, 04:07
Jennifer_munn
 
Fecha de Ingreso: marzo-2005
Mensajes: 276
Antigüedad: 19 años, 2 meses
Puntos: 0
He encontrado este código para saber si existe access en la máquina o no, tal vez a alguien le sirva... yo por mi parte necesito algo más

Option Explicit
'Modulo para Visual Basic 6
Private Const MAX_FILENAME_LEN = 256
Private Declare Function FindExecutableA Lib "shell32.dll" (ByVal lpFile As String, ByVal lpDirectory As String, ByVal lpResult As String) As Long


Function ExisteAccess(UnaRutaBd As String) As Boolean
Dim I As Integer, S2 As String
Dim Buho As String
S2 = String(MAX_FILENAME_LEN, 32) & Chr$(0)
I = FindExecutableA(UnaRutaBd & Chr$(0), vbNullString, S2)
If I > 32 Then
Buho = Left$(S2, InStr(S2, Chr$(0)) - 1)
If Mid(Buho, InStrRev(Buho, "\") + 1) = "MSACCESS.EXE" Then
ExisteAccess = True
Else
ExisteAccess = False
End If
Else
ExisteAccess = False
End If
End Function
'Otra mas
Function ExisteAccess1() As Boolean
Dim ObjetoAccess As Object

On Error GoTo Etiqueta_Error
Set ObjetoAccess = CreateObject("Access.Application")
Set ObjetoAccess = Nothing

ExisteAccess1 = True

Etiqueta_Error:
MsgBox Err.Number
'aqui recoge el error que sea en una maquina donde no tengas
'access instalado, ya que no sé que error saldrá si no existe el Access
'pues yo en todas mis maquinas lo tengo. Yo creo que es el 429...pero pruebalo

End Function

Function probando1()
MsgBox ExisteAccess1
End Function

Function probando()
MsgBox ExisteAccess(App.Path & "\tubase.mdb")
End Function