Access - Ruta de acceso

 
Vista:

Ruta de acceso

Publicado por Facundo (56 intervenciones) el 18/02/2007 21:12:24
Hola gente......necesito nuevamete su ayudas...!!!
El tema es asi yo arme dos bases de datos ( osea tengo dos archivos) las cuales estan vinculadas por una tabla. El tema es que en la computadora que la arme me anda perfecto... pero cuando la quiero abrir desde otra computadora, la cual esta en red, con uno de esos archivos me dice que no es correcta la ruta de acceso..... me entienden??
Es mas, los dos archivos los tengo dentro de una carpeta a la cual no le puedo cambiar el nombre....... Entonces alguien sabe como puedo hacer para modificar esa ruta de acceso...?? donde entro?? .
(Aclaracion: solo tengo problema scon el archivo que depende de una tabla del otro archivo).
Gente!! desde ya muchas gracias....!!!
Saldudos....
Facundo.-
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ruta de acceso

Publicado por antperlop (6 intervenciones) el 18/02/2007 23:12:28
Te explico lo que yo hago:
Tengo una BD con las tablas (convertida a mde) y que estará en en PC principal o el que haga de servidor y otra BD con los demas objetos que tambien paso a mde cuando se la voy a dar a los (JU... pa ti y pa mi 'jodidos usuarios')
Cuando ejecuto la aplicación lo primero que hago es comprobar que exista una determinada tabla y si no existe, abro un cuadro de dialogo para que busque el camino donde se encuentra (esto pasará cada vez que le pases al (JU la mde) ya que tu lo compilas en tu PC que tendrá distinto camino.
En fin, un poco lioso, pero me funciona.
Ejemplo:
ESTO AL ABRIR EL FORMULARIO PRINCIPAL
Private Sub Form_Open(cancel As Integer)
Dim Campo As String
On Error GoTo ErrorOpen
Me.RecordSource = "GAD GPFIC01" 'una tabla de la BD

ErrorOpen:
If Err = 3024 Or Err = 3043 Or Err = 3044 Then
Campo = VTACCESS()
End If
Resume Next
End Sub

------------------------ ESTO EN UN MODULO-------------------------
Option Compare Database
Option Explicit

Function VTACCESS() As Boolean

Dim ActualDB As Database
Dim ETabla As TableDef
Dim ModuloServidorFile As String
Dim Contador As Integer

ModuloServidorFile = OpenFileAccesos()

If ModuloServidorFile <> "" Then
VTACCESS = True
Set ActualDB = CurrentDb()
For Contador = 0 To ActualDB.TableDefs.Count - 1
Set ETabla = ActualDB.TableDefs(Contador)
If ETabla.Connect <> "" And Right(ETabla.Connect, 12) = "GESPERBD.MDE" Then
ETabla.Connect = ";DATABASE=" & ModuloServidorFile
Err = 0
ETabla.RefreshLink
If Err <> 0 Then
MsgBox "La conexión con el Módulo Servidor ha sido insatisfactoria." & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "'" & ModuloServidorFile & "' no contiene la tabla '" & ETabla.SourceTableName & "' requerida por la aplicación.", vbCritical + vbOKOnly, "Conexión con el Servidor"
VTACCESS = False
Exit For
End If
End If
Next Contador
Else
MsgBox "La conexión con el Módulo Servidor ha sido cancelada.", vbCritical + vbOKOnly, "Conexión con el Servidor"
VTACCESS = False
End If

End Function

Private Function OpenFileAccesos() As String

Dim of As OPENFILENAME

of.hwndOwner = Application.hWndAccessApp
of.hInstance = 0
of.lpstrCustomFilter = 0
of.nMaxCustrFilter = 0
of.lpfnHook = 0
of.lpTemplateName = 0
of.lCustrData = 0
of.lpstrFilter = "GESPERBD" & vbNullChar & "*.mde" & vbNullChar & vbNullChar
of.nFilterIndex = 1
of.lpstrFile = Left$("GESPERBD.MDE" & String$(512, 0), 512)
of.nMaxFile = 511
of.lpstrFileTitle = String$(512, 0)
of.nMaxFileTitle = 511
of.lpstrTitle = "Vincular B.D."
of.lpstrInitialDir = "C:\PROGRAM\ACCESS 2002\"
of.lpstrDefExt = ""
of.flags = OFN_EXPLORER + OFN_FILEMUSTEXIST + OFN_NOCHANGEDIR + OFN_PATHMUSTEXIST + OFN_HIDEREADONLY
of.lStructSize = Len(of)

If GetOpenFileName(of) Then
OpenFileAccesos = Trim(Left$(of.lpstrFile, InStr(of.lpstrFile, vbNullChar) - 1))
Else
OpenFileAccesos = ""
End If

End Function

Intenta probarlo y aqui me tienes para lo que se te ofrezca.
PD: Esto no es cosecha mia.... lo he sacado de los muchos y buenos colaboradores que pululan por esta web.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ruta de acceso

Publicado por antperlop (6 intervenciones) el 18/02/2007 23:16:11
Mete estas variables en otro modulo
Option Compare Database
Option Explicit
Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Boolean

Global Const OFN_ALLOWMULTISELECT = &H200
Global Const OFN_CREATEPROMPT = &H2000
Global Const OFN_EXPLORER = &H80000
Global Const OFN_FILEMUSTEXIST = &H1000
Global Const OFN_HIDEREADONLY = &H4
Global Const OFN_NOCHANGEDIR = &H8
Global Const OFN_NODEREFERENCELINKS = &H100000
Global Const OFN_NONETWORKBUTTON = &H20000
Global Const OFN_NOREADONLYRETURN = &H8000
Global Const OFN_NOVALIDATE = &H100
Global Const OFN_OVERWRITEPROMPT = &H2
Global Const OFN_PATHMUSTEXIST = &H800
Global Const OFN_READONLY = &H1
Global Const OFN_SHOWHELP = &H10

Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As Long
nMaxCustrFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustrData As Long
lpfnHook As Long
lpTemplateName As Long
End Type
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

antperlop

Publicado por Facu (56 intervenciones) el 19/02/2007 02:05:59
Antperlop...... debo confesarte que no soy programador....por lo tanto todo lo que me explicaste no entendi un joraca......... no pense que iba a ser tan jodido!!! jeje!!
Igual desde ya muchas gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:antperlop

Publicado por antperlop (6 intervenciones) el 19/02/2007 08:53:25
Facu, mandame la BD y te echare una mano creandote esa vinculación... en cuanto a lo de que no eres programador.... por algo se empieza.
Desde Cádiz un cordial saludo.
PD:
Explicame un poco de que va esa aplicación.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar