Visual Basic - Como importar bd de access desde vb

Life is soft - evento anual de software empresarial
 
Vista:

Como importar bd de access desde vb

Publicado por Andrea B. (8 intervenciones) el 27/09/2003 18:52:39
Hola, alguien podria decirme como puedo importar tablas de una bd de access a otra bd de access tambien, pero desde visual basic??
Gracias de antemano
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:Como importar bd de access desde vb

Publicado por Gustavo V (53 intervenciones) el 27/09/2003 19:10:18
Te adjunto aquí parte del código que uso para crear una bd Access y dentro de esta una tabla
de aquí podrás sacar tus conclusiones
Public Const provider = "Microsoft.Jet.OLEDB.4.0"

Public Function CreaBD(nbd As String)
Dim cat As ADOX.Catalog
Set cat = New ADOX.Catalog
If Dir(nbd) <> "" Then
Kill nbd
End If
cat.Create "Provider=" & provider & ";" & _
"Data Source=" & nbd & ";"
Set cat = Nothing
End Function

Public Function CrearTabla(bd As String)
Dim cat As ADOX.Catalog
Dim tbl As ADOX.Table
Set cat = New ADOX.Catalog
Set tbl = New ADOX.Table

'abriendo el catálogo
cat.ActiveConnection = "Provider=" & provider & ";" & _
"data source=" & bd & ";"
'creando la nueva tabla
With tbl
.Name = "tblAsistenciaDiaria"
.Columns.Append "idObra", adVarWChar, 8
.Columns.Append "CodTrab", adVarWChar, 10
.Columns.Append "Fec", adDate
.Columns.Append "horaEntradaReal", adDate
.Columns.Append "horaentrada", adDate
.Columns.Append "horasalida", adDate
.Columns.Append "horasalidareal", adDate
.Columns.Append "Enviado", adBoolean
.Columns("horaentradareal").Attributes = adColNullable
.Columns("horaentrada").Attributes = adColNullable
.Columns("horasalidareal").Attributes = adColNullable
.Columns("horasalida").Attributes = adColNullable
End With
cat.Tables.Append tbl
Set tbl = Nothing
Set cat = Nothing
End Function

Public Sub ExportarData(bd As String) 'función que exporta datos
'del registro de asistencia
Dim cnnResultado As ADODB.Connection
Dim rsint As ADODB.Recordset
Dim rsext As ADODB.Recordset
Set cnnResultado = New ADODB.Connection
With cnnResultado
.provider = provider
.CursorLocation = adUseClient
.ConnectionString = bd
.Open
End With
CrearConexion
Set rsint = New ADODB.Recordset

With rsint
.ActiveConnection = cnnunica.ConnectionString
.CursorLocation = adUseClient
.LockType = adLockOptimistic
.Source = "SELECT * FROM tblAsistenciaDiaria WHERE Enviado=0"
.Open
End With
If rsint.EOF And rsint.BOF Then
MsgBox "No existe información por exportar", vbInformation, "Aviso al usuario"
rsint.Close
Set rsint = Nothing
cnnunica.Close
cnnResultado.Close
Set cnnunica = Nothing
Set cnnResultado = Nothing
Exit Sub
End If
Set rsext = New ADODB.Recordset
With rsext
.ActiveConnection = cnnResultado.ConnectionString
.CursorLocation = adUseClient
.LockType = adLockOptimistic
.Source = "SELECT * FROM tblAsistenciaDiaria"
.Open
End With
Do Until rsint.EOF
With rsext
.AddNew
!idObra = rsint!idObra
!codtrab = rsint!codtrab
!Fec = rsint!Fec
!horaentrada = rsint!horaentrada
!horaentradareal = rsint!horaentradareal
!horasalida = rsint!horasalida
!horasalidareal = rsint!horasalidareal
!enviado = 0
.Update
End With
rsint!enviado = -1
rsint.Update
rsint.MoveNext
Loop
rsint.Close
rsext.Close
Set rsint = Nothing
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:Como importar bd de access desde vb

Publicado por Ricardo Pacheco (25 intervenciones) el 28/09/2003 20:18:38
Hace poco tuve que hacer algo similar y esto me ayudo:

primero agrega a tu proyecto la libreria...Microsoft Access9.0 Library
(creo que asi se llama)

luego define el objeto y crealo

dim oAccess as Access.Aplication
set oAccess = new Access.Aplication

....primero debes conectarte a la base de datos donde quieres que se importen los datos(la que va ha recibir los datos importados)

oAccess.OpenCurrentDataBase C:\LaRuta\TuBDqueRecibeDatos.mdb

(eso de OpenCurrent.... no estoy muy seguro si el nombre es exactamante asi pero lo encuentras presionando F2 luego de agregar la libreria)

oAccess.DoCmd.TransferDatabase acImport, "Microsoft Access", "C:\Base_Datos\TuBdqueDaDatos.mdb", acTable, "tabla_origen", "tabla_desti", False

acImport=es porque lo que vas ha hacer es importar

Microsoft Access=es por el tipo de bd que se encarga de importar , si importaras de vfp seria por ejemplo DBaseIII

C:\Base_Datos\TuBdqueDaDatos.mdb=es la ruta donde esta la bd que va imporar(la que va dar los datos)

ctable=es el tipo de objeto que se va ha crear
tabla_origen=desde donde se importa, se supone que existe en TuBdqueDaDatos.mdb

tabla_destino=es la tabla que se va ha crear en TuBDqueRecibeDatos.mdb

y False=no me acuerdo

.... y eso es todo, luego al momento de salir del formulario no te olvides de cerrar con:

oAccess.CloseCurrectDataBase

y luego
set oAccess=Nothing

y listo ... espero te ayude. Cualquier consulta me avisas...
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:Como importar bd de access desde vb

Publicado por Andrea B. (8 intervenciones) el 29/09/2003 21:54:17
Gracias, voy a checarlo!!
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