Seguidores

MIS WEBS



martes, 5 de diciembre de 2017

CREAR UN RECORSET VBA ACCES

          Dentro de VBA Acces existe una herramienta muy potente que nos puede ayudar mucho en nuestro trabajo se trata del RECORSET, con ella podemos hacer miles de cosas. Seleccionar datos de un sitio y colocarlos en formato de nuestra tabla, anexar datos en una tabla, crear una tabla de varias tablas, almacenar datos en variables registrados en tablas....

            En el siguiente ejemplo vamos a crear un Recorset que recorrerá un tabla buscando los datos que coincidan con un texto determinado, nos los cargue en un array y posteriormente los imprima en la ventana de inmediato.



Sub CREAR_UN_RECORSET()

Dim Mi_Recorset As New ADODB.Recordset
Dim Conexion As New ADODB.Connection
Dim Instruccion As String

Dim DATO(4) As Variant

Set Conexion = CurrentProject.Connection
Instruccion = "Select *from [TablaOrigenDatos]"
Mi_Recorset.Open Instruccion, Conexion

   Do Until Mi_Recorset.EOF
        If Mi_Recorset!filaconsulta= "datoconsulta" Then
            DATO(0) = Mi_Recorset!filaretorna
            DATO(1) = Mi_Recorset!filaretorna
            DATO(2) = Mi_Recorset!filaretorna
            DATO(3) = Mi_Recorset!filaretorna
         
            Debug.Print DATO(0) & "              " & DATO(1) & "         " & "       " & DATO(2) _
                                                 & "                " & DATO(3)
        End If
 
    Mi_Recorset.MoveNext
    Loop
 

Mi_Recorset.Close
Conexion.Close
Set Conexion = Nothing
Set Mi_Recorset = Nothing

End Sub




                        Ahora vamos a hacer lo mismo pero en lugar de imprimir en venta de inmediato, los anexaremos a una tabla existente. Este recurso es muy útil cuando hemos importado un formulario desde Excel que viene desordenado y lo deseamos convertir en una tabla de Access para poder ir almacenando los datos de una forma ordenada y así poder acceder a ellos para gestionarlos.



Sub CREAR_UN_RECORSET()

Dim Mi_Recorset As New ADODB.Recordset
Dim Conexion As New ADODB.Connection
Dim Instruccion As String

Dim DATO(4) As Variant

Set Conexion = CurrentProject.Connection
Instruccion = "Select *from [TablaOrigenDatos]"
Mi_Recorset.Open Instruccion, Conexion

   Do Until Mi_Recorset.EOF
        If Mi_Recorset!filaconsulta= "datoconsulta" Then
            DATO(0) = Mi_Recorset!filaretorna
            DATO(1) = Mi_Recorset!siguientefilaretorna
            DATO(2) = Mi_Recorset!siguientefilaretorna
            DATO(3) = Mi_Recorset!siguientefilaretorna
         
        End If
 
    Mi_Recorset.MoveNext
    Loop
 
Dim Mi_Consulta As String
Mi_Consulta ="Insert Into [TablaDestino] (filadestino1,filadestino2,filadestino3,filadestino4values (' " & DATO(0) & " ' , ' " & DATO(1) & " ' , ' "& DATO(2) & " ' , ' "& DATO(3) & " ' , ' "

Mi_Recorset.Close
Conexion.Close
Set Conexion = Nothing
Set Mi_Recorset = Nothing

End Sub

No hay comentarios:

Publicar un comentario

Buscar este blog

Sandisk y Western Digital