Access - Como puedo copiar tablas dentro de VB ??

 
Vista:

Como puedo copiar tablas dentro de VB ??

Publicado por Rommy (1 intervención) el 02/11/2005 13:22:24
Tengo una version antigua de access especificamente la version 2.0 y deseo poder
dentro de un programa visual-basic 6.0 realizar un respaldo de 2 tablas de la base
de datos creando tales tablas con otro nombre tanto en su estructura como agregando los datos
de las de origen y asi en el evento de tener recuperar tales datos hacer la operacion
inversa.

Tienen alguna sugerencia de como llevarlo a cabo ??

Me imagino que se podra con la instruccion sql create tabla y luego agregando los datos

Pero prefiero estar seguro de que se puede y a lo mejor existe un metodo mas rapido

Gracias y que este muy bien
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

Realizar respaldo de tablas en Access 2.0 usando Visual Basic 6.0

Publicado por Alejandro (4142 intervenciones) el 13/06/2023 22:47:10
En Access 2.0, puedes realizar un respaldo de tus tablas creando nuevas tablas con otro nombre y luego copiando los datos de las tablas de origen a las nuevas tablas. A continuación, te muestro una posible solución utilizando instrucciones SQL y Visual Basic 6.0:

1. Abre tu proyecto en Visual Basic 6.0 y asegúrate de tener una referencia a "Microsoft DAO x.xx Object Library" (donde x.xx es la versión correspondiente a Access 2.0).
2. Agrega un botón o evento que realizará el respaldo de las tablas.

A continuación, te muestro un ejemplo de código que puedes utilizar para realizar el respaldo de dos tablas:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim rsBackup As DAO.Recordset
Dim strSQL As String
Dim strSQLInsert As String
 
' Ruta y nombre de la base de datos original
Dim originalDBPath As String
originalDBPath = "C:\RutaDeTuBaseDeDatosOriginal\TuBaseDeDatosOriginal.mdb"
 
' Ruta y nombre de la base de datos de respaldo
Dim backupDBPath As String
backupDBPath = "C:\RutaDeTuBaseDeDatosBackup\TuBaseDeDatosBackup.mdb"
 
' Nombres de las tablas de origen y respaldo
Dim originalTableName As String
originalTableName = "NombreTablaOriginal"
Dim backupTableName As String
backupTableName = "NombreTablaBackup"
 
' Inicia la creación de la base de datos de respaldo
Set db = DBEngine.Workspaces(0).CreateDatabase(backupDBPath, dbLangGeneral)
 
' Crea la nueva tabla de respaldo con la misma estructura que la tabla original
strSQL = "SELECT * INTO " & backupTableName & " IN '" & backupDBPath & "' FROM " & originalTableName
db.Execute strSQL
 
' Abre los recordsets para copiar los datos de la tabla original a la tabla de respaldo
Set rs = DBEngine.OpenDatabase(originalDBPath).OpenRecordset(originalTableName)
Set rsBackup = db.OpenRecordset(backupTableName)
 
' Copia los datos de la tabla original a la tabla de respaldo
rs.MoveFirst
Do Until rs.EOF
    rsBackup.AddNew
    For Each fld In rs.Fields
        rsBackup.Fields(fld.Name).Value = fld.Value
    Next fld
    rsBackup.Update
    rs.MoveNext
Loop
 
' Cierra los recordsets y la base de datos de respaldo
rs.Close
rsBackup.Close
db.Close
 
' Destruye los objetos
Set rs = Nothing
Set rsBackup = Nothing
Set db = Nothing
 
MsgBox "Respaldo realizado con éxito", vbInformation

Asegúrate de reemplazar "NombreTablaOriginal" y "NombreTablaBackup" con los nombres reales de las tablas que deseas respaldar y los nombres de archivo y rutas correspondientes para las bases de datos de origen y respaldo.

Este código creará una nueva base de datos de respaldo y copiará la estructura y los datos de las tablas de origen a las tablas de respaldo. Al finalizar, mostrará un mensaje indicando que el respaldo se ha realizado con éxito.

Recuerda adaptar este código a tus necesidades específicas y asegúrate de tener los permisos adecuados para crear bases de datos y acceder a las tablas de origen.

Espero que esta solución te sea útil. ¡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