• Lunes 29 de Abril de 2024, 01:33

Autor Tema:  Como Utilizar Transferdatabase  (Leído 7770 veces)

Trazos

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
    • http://JMESSA.COM
Como Utilizar Transferdatabase
« en: Martes 13 de Abril de 2004, 19:31 »
0
:hola: Hola amigos,Tengo una base de datos en Access y necesito importar las tablas de otra mas antigua. Necesito importar las tablas y que solo me pida la clave la primera vez, el resto de las tablas ya no me la pida, el código que utilizo es el siguiente pero siempre me la pide y tengo que poner una línea para cada tabla.

Dim a
a = Texto52

DoCmd.TransferDatabase acImport, "Microsoft Access", _
    a, acTable, "BAJAS", _
    "BAJAS_COPIA"
DoCmd.TransferDatabase acImport, "Microsoft Access", _
    a, acTable, "CIUDAD", _
    "CIUDAD_COPIA"


¿Podriais ayudarme para importe todas las tablas de una vez y que solo pida la contraseña una sola vez?

Gracias por vuestra ayuda, espero poder solucionarlo.

micc

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Como Utilizar Transferdatabase
« Respuesta #1 en: Miércoles 14 de Abril de 2004, 19:13 »
0
Hola trazos, no se si te serviré de mucha ayuda, pero puedes hacer un bucle for para todas las tablas que tengas, mira el siguiente código de ejemplo:

Dim dbs As Object, miTabla As AccessObject
    Set dbs = Application.CurrentData
    For Each miTabla In dbs.AllTables  'Con este bucle recorres todas las tablas de tu base de datos, incluidas unas de sistema que empiezan por "MSys" de ahí que tengas que poner la siguiente condición      
         If Left(miTabla.Name, 4) <> "MSys" Then
            Dim Nombre As String
            Nombre = miTabla.Name
            MsgBox (Nombre)
            DoCmd.TransferDatabase acImport, "Microsoft Access", _
a, acTable, miTabla.Name, _
miTabla.Name & "_COPIA"
        End If
      Next miTabla

Espero que haya suerte.

Trazos

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
    • http://JMESSA.COM
Re: Como Utilizar Transferdatabase
« Respuesta #2 en: Jueves 15 de Abril de 2004, 14:50 »
0
:hola: Hola gente, muchas gracias micc tu rutina me ha ido de maravilla, lee todas las tablas, la verdad es que no daba con la tecla de leerlas todas, solo leia una a una.

Bueno tengo otra pequeña pega , resulta que la base de datos tiene una clave y cada vez que lee una tabla me la pide. ¿ Tu no sabrias o algún amigo que nos este leyendo como introducir la clave en la siguiente línea para que solo la pida la primera vez? en la ayuda explica como hacerlo pero no me entero, os estaría agradecido es un poco latoso meter la clave para cada tabla.


DoCmd.TransferDatabase acImport, "Microsoft Access", _
a, acTable, miTabla.Name, _
miTabla.Name & "_COPIA"
,, CREO QUE SE PONE AQUI PERO NO SE COMO

Gracias espero vuestra ayuda

micc

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Como Utilizar Transferdatabase
« Respuesta #3 en: Jueves 15 de Abril de 2004, 19:01 »
0
Hola Trazos, me alegro de servirte de ayuda, como en todo entorno de programación, cuando crees que has resuelto una cosa, siempre hay un pero, pero bueno, la verdad que no lo sé, pero leyendo la ayuda entiendo que lo que tienes que escribir entre las dos últimas "comas", es el valor TRUE, no obstante tengo una duda respecto a que esto te funcione, porque en la ayuda hace referencia a que sea una tabla vinculada por ODBC, no obstante pruébalo:

DoCmd.TransferDatabase acImport, "Microsoft Access", _
a, acTable, miTabla.Name, _
miTabla.Name & "_COPIA",TRUE


Si esto no te funcionara prueba a enviar el texto de la contraseña con la instrucción sendkey

SUERTE

Trazos

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
    • http://JMESSA.COM
Re: Como Utilizar Transferdatabase
« Respuesta #4 en: Jueves 15 de Abril de 2004, 20:41 »
0
:hola:

Estimado amigo, gracias por tu rapidez, efectivamente es lo que yo entiendo al leer la ayuda , pero no funciona, continua pidiendome la clave, seguiré buscando la forma facilitar la labor, tampoco se hace constantemente el importa las tabls, pero me gusta dejar las cosas lo mas facilmente para el usuario. Gracias nuevamente si doy con la tecla lo haré saber.