RECORDSET II
En otras ocasiones hemos visto
como crear un RECORDSET con la librería ADOBD, pero es verdad que esta librería
a veces me ha dado problemas con otros equipos que se conectan a la misma BBDD
incluso teniendo todas las librerías activadas de forma idéntica, por eso he
decido explorar otras formas de crear mis RECORDSET.
UTILIZADO
ADODB
Sub
CONECTAR_BASE_con_ADODB()
'creamos una conexión utilizado el objeto connection para
ello creamos una variable
Dim CONECTAR As New
ADODB.Connection
Dim MiRecordset As New
ADODB.RECORDSET ' variable recorset
Dim String_id, String_DOS, String_TRES As String
Set CONECTAR = CurrentProject.Connection 'establecemos
conexión con la base de datos (en este caso la actual)
Dim DATOS As String
DATOS = "SELECT * from Tabla1"
MiRecordset.Open
DATOS, CONECTAR
Do Until MiRecordset.EOF
String_id = MiRecordset!Id
String_DOS = MiRecordset!DOS
Strimg_TRES = MiRecordset!TRES
DoCmd.SetWarnings False 'desactiva output de aviso
'Consulta
DCMD para insertar registros en una tabla.
DoCmd.RunSQL "INSERT
INTO Tabla2 (Id, DOS, TRES) VALUES" _
& " ('"
& String_id & "', '" _
& String_DOS &
"', '" _
& Stromg_TRES &
"');"
MiRecordset.MoveNext
'pasa al suiente registro
DoCmd.SetWarnings True 'activa
output de aviso
Loop
'cerarmos
recordset y conexion
MiRecordset.Close
CONECTAR.Close
'liberamos
espacio
Set MiRecordset
= Nothing
Set CONECTAR
= Nothing
End Sub
AHORA VAMOS A PROBAR HACERLO DE OTRA FORMA,
ES POSIBLE QUE SEA MÁS LIMPIA O ESO ME PARECE A MI.
Sub RECORDSET_D()
Dim string_ID, string_DOS, string_TRES As
String
Dim TABLA1, TABLA2 As Recordset
Set DB = CurrentDb
Set TABLA1 =
DB.OpenRecordset("Tabla1", dbOpenTable)
Set TABLA2 =
DB.OpenRecordset("Tabla2", dbOpenTable)
TABLA1.MoveLast
TABLA1.MoveFirst
Do Until TABLA1.EOF
TABLA1.Edit
string_ID = TABLA1("Id")
string_DOS = TABLA1("DOS")
string_TRES = TABLA1("TRES")
TABLA2.AddNew
TABLA2("Id") = string_ID
TABLA2("DOS") = string_DOS
TABLA2("TRES") = string_TRES
TABLA2.Update
TABLA1.MoveNext
Loop
DoCmd.OpenTable "Tabla2"
End Sub
Espero que os pueda ser de utilidad
No hay comentarios:
Publicar un comentario