Access - Cambiar Ruta de tablas...

 
Vista:

Cambiar Ruta de tablas...

Publicado por josepf (68 intervenciones) el 09/01/2004 15:42:25
Buenas a todos!!

Tengo una aplicación que para cada año hay que cambiar el vinculo de los datos:

c:\contabilidad\

hay en contabilidad.mdb

en: c:\contabilidad\emp01
c:\contabilidad\emp02

en contabilidad.mdb me gustaria presentar las empresas y que al selecionar una, vinculara automáticamente los datos a c:\contabilidad\empxx. Siempre lo tengo que hacer manual, he probado con shell, pero no me funciona. Me podeis ayudar?

Gracias

1 saludo
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
Imágen de perfil de Alejandro

Cambiar Ruta de tablas...

Publicado por Alejandro (4142 intervenciones) el 04/05/2023 16:27:01
Para cambiar la ruta de las tablas de forma dinámica en Access, puedes utilizar VBA y la función `TableDef.Connect`. Aquí te dejo un ejemplo de cómo podrías hacerlo:

1. Crea un formulario con un cuadro de lista que muestra el nombre de las empresas. Por ejemplo, el origen del control podría ser una consulta que devuelve los nombres de las empresas:

1
SELECT DISTINCT Empresa FROM Tablas;

2. Crea un botón en el formulario y agrega el siguiente código al evento Click:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub btnCambiarRuta_Click()
    Dim db As DAO.Database
    Dim tdf As DAO.TableDef
    Dim strEmpresa As String
    Dim strNuevaRuta As String
 
    strEmpresa = Me.cboEmpresas.Value
    strNuevaRuta = "c:\contabilidad\" & strEmpresa
 
    Set db = CurrentDb()
 
    For Each tdf In db.TableDefs
        If Left(tdf.Name, 4) <> "MSys" Then ' Ignorar tablas del sistema
            tdf.Connect = ";DATABASE=" & strNuevaRuta & "\contabilidad.mdb"
            tdf.RefreshLink
        End If
    Next tdf
 
    Set tdf = Nothing
    Set db = Nothing
 
    MsgBox "La ruta de las tablas se ha cambiado a " & strNuevaRuta
End Sub

3. Ajusta el código según el nombre de tu cuadro de lista y la estructura de tus tablas.

4. Cuando el usuario seleccione una empresa en el cuadro de lista y haga clic en el botón "Cambiar ruta", se cambiará la ruta de las tablas vinculadas en la base de datos a la nueva ubicación. El mensaje de confirmación mostrará la ruta nueva a la que se han vinculado las tablas.

Espero que esto te ayude. ¡Buena suerte!
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