** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Exportar tabla a otra base de datos seleccionada
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoExportar tabla a otra base de datos seleccionada

 Responder Responder
Autor
Mensaje
chussm Ver desplegable
Nuevo
Nuevo


Unido: 10/Diciembre/2009
Localización: España
Estado: Sin conexión
Puntos: 5
Enlace directo a este mensaje Tema: Exportar tabla a otra base de datos seleccionada
    Enviado: 25/Junio/2020 a las 16:09
Hola a todos.

No conozco el código de la siguiente consulta, por lo que solicito vuestra ayuda. 

Quiero exportar (con código VBA a través de un botón de formulario) una tabla llamada "NCFpunto" a otra base de datos que yo seleccione. No puedo dejarle fija la base de datos a la que va dirigida porque esta va a variar, por lo que tendría que buscarla, seleccionar la base de datos destino y decirle la exporte aquí.

Lo he intentado con  DoCmd.TransferDatabase acExport, pero no se como decirle donde tiene que ir.
Otra de las formas de realizarlo es importarla desde la BD origen, pero tengo el mismo problema. ¿como selecciono el destino?.

¿Pueden ayudarme?.

Muchas gracias.
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 11668
Enlace directo a este mensaje Enviado: 25/Junio/2020 a las 16:30
Currentdb.Execute "SELECT * INTO [" & NombreBd & ContraseñaBd & "].[" & NombreTabla & "] FROM TablaOrigen"


Siendo NombreBd la ruta completa.



Editada la SQL.


Editado por Mihura - 25/Junio/2020 a las 16:58
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 12975
Enlace directo a este mensaje Enviado: 25/Junio/2020 a las 16:49
La opción TransferDatabase también te vale

DoCmd.TransferDatabase  acExport, "Microsoft Access", strPath, acTable, "NCFPunto", "NCFPunto"

En ambos casos tienes el mismo "problema": debes obtener el Path completo de la base de datos destino.

@Jesus: para exportar, ¿no seria SELECT INTO?
Xavi, un minyó de Terrassa

Mi web
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 11668
Enlace directo a este mensaje Enviado: 25/Junio/2020 a las 16:54
YES.. 'mese' olvidó ...  Clown
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
chussm Ver desplegable
Nuevo
Nuevo


Unido: 10/Diciembre/2009
Localización: España
Estado: Sin conexión
Puntos: 5
Enlace directo a este mensaje Enviado: 25/Junio/2020 a las 17:29
Si. Me lo imaginaba.
En realidad mi problema no es la sentencia de exportar, es que no se obtener el Path completo de la base de datos destino.

Puedes ayudarme con esto?.
No soy experta y estoy aprendiendo a base de respuestas de foros y manuales.

Muchas gracias. 
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 12975
Enlace directo a este mensaje Enviado: 25/Junio/2020 a las 17:49
Te pego el extracto de una función que utilizo

En un módulo independiente.

Function SeleccionaFichero(Optional strTitulo As String = "", Optional strInitialFolder As String = "", Optional strFilters As String = "") As String
    On Error GoTo ErrorHandler

    ' Función que selecciona un fichero y devuelve el Path entero
    ' Ejemplo: strFile = SeleccionaFichero(,,"Excel files|*.xls; *.xlsx; *.xlsm|Ficheros de texto|*.txt; *.bas")
    
    Dim fDialog          As Object    
    Dim varFile     As Variant
    Dim arrFilters  As Variant
    Dim f           As Integer
    Const msoFileDialogFilePicker = 3

    Set fDialog = Application.FileDialog(msoFileDialogFilePicker)

    ' Abrimos el selector de ficheros
    With fDialog
        .AllowMultiSelect = False
        If strTitulo <> "" Then
            .Title = strTitulo
        Else
            .Title = "Selección de fichero"
        End If
        .InitialFileName = strInitialFolder
        .Filters.Clear
        If strFilters <> "" Then
            arrFilters = Split(strFilters, "|")
            For f = 0 To UBound(arrFilters) Step 2
                .Filters.Add arrFilters(f), arrFilters(f + 1), 1
            Next
        End If
        
        .Filters.Add "All Files", "*.*"
        If .Show = True Then
            For Each varFile In .SelectedItems
                SeleccionaFichero = varFile
            Next
        Else
            ' el usuario ha cancelado la selección del fichero
            SeleccionaFichero = "N/S"
            Exit Function
        End If
    End With

ExitProcedure:
    Err.Clear
    Exit Function
ErrorHandler:
    MsgBox "Error"
    Resume ExitProcedure
End Function

Llamas el evento desde un botón y almacenas el contenido en una variable que utilizar como Path


Un saludo

Editado para añadir la constante msoFileDialogFilePicker


Editado por xavi - 25/Junio/2020 a las 17:50
Xavi, un minyó de Terrassa

Mi web
Arriba
chussm Ver desplegable
Nuevo
Nuevo


Unido: 10/Diciembre/2009
Localización: España
Estado: Sin conexión
Puntos: 5
Enlace directo a este mensaje Enviado: 26/Junio/2020 a las 12:56
Muchísimas gracias por el código y por la ayuda.

Conseguí incorporarlo a la base de datos y funciona de maravilla.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable