Visual Basic - MOver datos de SQL a una tabla ACCES via ADO

Life is soft - evento anual de software empresarial
   
Vista:

MOver datos de SQL a una tabla ACCES via ADO

Publicado por Armilso (2 intervenciones) el 08/04/2008 23:59:32
Hola, alguien me puede ayudar, tengo que mover los datos de una tabla de SQL en ervidor a una tabla de acces local, realizó la conexión, pero no es posible que inserte los datos en la BD acces.

Tengo el siguiente código:
Option Explicit
Dim cnn, cnn1 As ADODB.Connection
Dim rst, rst1 As ADODB.Recordset
Dim data1 As DataEnvironment
Private Sub CG_Click()
Set cnn = Nothing
Set rst = Nothing
Set cnn1 = Nothing
Set rst1 = Nothing
Set cnn = New ADODB.Connection
Set rst = New ADODB.Recordset
Set cnn1 = New ADODB.Connection
Set rst1 = New ADODB.Recordset


' abro la BD con credenciales de Windows
cnn.Open "Provider=SQLOLEDB; " & _
"Initial Catalog= simliss; " & _
"Data Source = GNIINCAPACIDAD; " & _
"integrated security=SSPI; persist security info=True;"

MsgBox ("Conexiòn Estabecida con el servidor SQL"), vbExclamation


' rescato los datos de la tabla del servidor SQL server
rst.Open "SELECT * FROM SAP_CXP_LICINCAP_EPS ", cnn, adOpenDynamic, adLockOptimistic

If rst.EOF Then
MsgBox ("No existen registros"), vbCritical
Else

Const sPathBase As String = "C:interfaceinterface.MDB"
' hago la conexión a la BD acces en local
With cnn1
.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & sPathBase & ";"
.Open
MsgBox ("Acceso a BD correcto")

' aqui quiero insertar en la tabla local
cnn1.open ("INSERT INTO datos SELECT * from SAP_CXP_LICINCAP_EPS")


End With


frmCG.Show

' Cerrar el recordset y la conexión

rst.Close
cnn.Close
rst1.Close
cnn1.Close

frmCG.Refresh

End If
End Sub

me falla al momento de insertar los datos en la tabla local, si alguien me puee ayudar lo agradecería mucho....porque no he podido y no he encontrado material al respecto
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:MOver datos de SQL a una tabla ACCES via ADO

Publicado por kdlc (225 intervenciones) el 23/04/2008 01:23:51
incorrecto ... debes ir insertando uno por uno en la base de access ...
abres el recordset de Access en escritura

luego vas asi ...

Do until SQL_Recordset.EOF
with rst_access
.addnew
.fields("CAMPO").value = SQL_RECORDSET.fields(0).value
..
...
....
.update
End with
SQL_Recordset.movenext
Loop

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

RE:MOver datos de SQL a una tabla ACCES via ADO

Publicado por Miguel Flores (8 intervenciones) el 19/05/2008 18:59:42
Holas Armildo...!
Un poco tarde mi rpta pero de todas maneras ahi va por si algun dia le sirve a otro forero...!

Este codigo inserta masivamente todos los registros que arrojen tu sentencia (Select * from ......de sql ) de un solo golpe...hacia tu tabla de access.
Demas esta decir que los campos de origen y de destino deben ser compatibles

cnAccess.Execute (Insert Into TablaAccess
Select * from
[odbc;driver={SQL Server};server=servidorSQL;database=nombreDBSQL;UID=usuariosql;
PWD=TuPassword].[TablaSQL] )

Atte
Miguel Flores

Lima - Peru
miguelfloresq@hotmail.com
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