Foros del Web » Programación para mayores de 30 ;) » .NET »

Problemas al abrir access desde vb.net

Estas en el tema de Problemas al abrir access desde vb.net en el foro de .NET en Foros del Web. Hola a todos: Tengo un litsado hecho en access y cada vez que lo llamo desde vb.net siempre me da el mismo error: Excepción no ...
  #1 (permalink)  
Antiguo 12/03/2006, 10:34
 
Fecha de Ingreso: mayo-2004
Mensajes: 29
Antigüedad: 20 años
Puntos: 0
Problemas al abrir access desde vb.net

Hola a todos:

Tengo un litsado hecho en access y cada vez que lo llamo desde vb.net siempre me da el mismo error:

Excepción no controlada del tipo 'System.Exception' en Afiliados.exe

Información adicional: No se ha podido abrir el informe
Informe FICHA-AFILIADO
Fichero: \Afiliados\data\bd.mdb
Motivo: Microsoft Office Access no puede abrir la base de datos porque falta o porque está abierta de forma exclusiva por otro usuario.

He comprobado y no esta abierta en modo exclusiva, y si esta en esa ruta, puede ser el problema de que estoy utilziando ODBC, y para abrir el listado no, si es que eso me gustaria saber como abrir el listado de access en modo ODBC, os pongo el codigo como abro el listado

Private Sub FichaAfiliado()
Dim ab = Me.txtNumRegistro.Text
ImprimirDocumentoAccess("\Afiliados\data\bd.mdb", "FICHA-AFILIADO", "NUMREGISTRO=" & ab)
End Sub

'Funcion para abrir documento access

Public Sub ImprimirDocumentoAccess(ByVal FicheroAccess As String, ByVal Informe As String, ByVal Where As String, Optional ByVal VistaPrevia As Boolean = True)
Dim objAccess As Object = CreateObject("Access.Application")
Try
objAccess.OpenCurrentDatabase(FicheroAccess, False, "ff89ol3a")
If VistaPrevia Then
objAccess.Visible = True
objAccess.DoCmd.OpenReport(Informe, 2, , Where)
Else
objAccess.Visible = False
objAccess.DoCmd.OpenReport(Informe, 0, , Where)
End If
Catch oException As Exception
Throw New Exception("No se ha podido abrir el informe" & vbNewLine & "Informe " & Informe & vbNewLine & "Fichero: " & FicheroAccess & vbNewLine & "Motivo: " & oException.Message)
Finally
System.Runtime.InteropServices.Marshal.ReleaseComO bject(objAccess)
objAccess = Nothing
End Try
End Sub

Muchas Gracias
  #2 (permalink)  
Antiguo 12/03/2006, 16:35
Avatar de mackbeth  
Fecha de Ingreso: noviembre-2005
Mensajes: 370
Antigüedad: 18 años, 5 meses
Puntos: 10
hombre, tu direccion esta mal :S
mira compadre, si pones \Afiliados\data\bd.mdb quiere decir que tu base de datos esta dentro de la misma carpeta donde tienes el exe que estas depurando, es decir:
si tu direccion del ejecutable es:
C:\debugs\proyecto\ (esto es una suposicion, no se donde lo tengas)
tu base de datos deberia estar en:
C:\debugs\proyecto\Afiliados\data\bd.mdb
si no es asi, entonces NUNCA va a encontrar tu base de datos, intenta poner la ruta completa de tu archivo, es decir:
C:\Afiliados\data\bd.mdb
intentalo, pero ten cuidado con los espacios en las direcciones, creeme que causan un terrible dolor de cabeza....
__________________
«~MaGax3iNeMD~»
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:26.