XperimentoS

Experiencias Profesionales…

Archivo para Abril 3rd, 2007

Copiar datos de Access a Excel de forma rápida

Publicado por lcflores en Abril 3rd 2007

Muchas veces tenemos la necesidad de copiar datos de una tabla o consulta Access a una hoja Excel. Este paso es sencillo, simplemente copiar y pegar. Copiamos los datos en Access y los pegamos en Excel, pero si el tamaño/cantidad de datos es grande esta operación puede dejar literalmente “tostado” nuestro ordenador durante varios minutos. Los minutos en los que se queda “tostado” variaran dependiendo de la cantidad de datos y la memoria RAM que tenga nuestro ordenador.

Afortunadamente existe una mejor solución para copiar datos de una tabla o consulta Access a Excel, es un poco más compleja, pero no mucho más. Vamos a crear una Macro y usar la función de VBA “Cells.CopyFromRecordset” para copiar tablas y consultas de Access en segundos.

Pasos:

1) Abrir Excel

2) Abrir el editor de Macros (Pulsar ALT+F11)

3) Copiar y pegar la siguiente Macro:

‘==========================================
Public Sub Copiar_Tabla_Access()
  Dim oConexion As ADODB.Connection
  Dim rsTabla As ADODB.Recordset
  Dim sNombreTabla As String
  Dim sNombreAccess As String
  Dim i As Integer

  sNombreAccess = InputBox(”¿Ruta y nombre del fichero Access?”)
  If sNombreAccess <> “” Then
    sNombreTabla = InputBox(”¿nombre de la tabla/consulta?”)
    Set oConexion = New ADODB.Connection
    oConexion.CursorLocation = adUseClient
    oConexion.Open “PROVIDER=Microsoft.Jet.OLEDB.4.0;” & _
                                “Data Source=” & sNombreAccess & “;”
    Set rsTabla = New ADODB.Recordset
    rsTabla.Open “Select * From [” & sNombreTabla & “]”, _
                         oConexion, _
                         adOpenStatic
    ActiveSheet.Cells.CopyFromRecordset rsTabla
    ActiveSheet.Rows(”1:1″).Insert Shift:=xlDown
    For i = 0 To rsTabla.Fields.Count - 1
      ActiveSheet.Cells(1, i + 1).Value = rsTabla.Fields(i).Name
    Next
    rsTabla.Close
    oConexion.Close
    Set rsTabla = Nothing
    Set oConexion = Nothing
  End If
End Sub
‘==========================================

4) Guardamos los cambios.

5) Ahora ya podemos ejecutar la Macro para copiar los datos de una tabla o consulta Access en Excel. Abrimos la ventana de Macros en el Menú Herramientas > Macro > Macros (o pulsar ALT+F8).

6) Seleccionamos la Macro que hemos creado “Copiar_Tabla_Access” y pulsamos el botón “ejecutar“.

7) La Macro nos pedirá:
    a) La ruta y el nombre del fichero Access, por ejemplo “c:\temp\miAccess.mdb”.
    b) El nombre de la tabla o consulta, por ejemplo “miTabla”.

8) Ya hemos terminado.

Publicado en Access, Excel, Trucos | 18 Comentarios »

Linux crece rápidamente en China

Publicado por lcflores en Abril 3rd 2007

Interesante noticia sobre el market share de SSOO en smartphones dentro de China, dónde Linux alcanza un 30% ganando terreno a Symbian (que lidera el mercado con un 60%) , Windows Mobile sólo tiene un 5,4%.

Esta noticia en otro país no tendría tanta importancia, pero el impacto que tiene el mercado chino en la cuenta de resultados de una empresa actualmente es brutal. No olvidemos que el mercado de móviles en China crece a un ritmo de 5 millones de nuevos terminales al trimestre!!, valga como ejemplo que desde el año pasado las dos compañías de telefonía con mayor número de clientes a nivel mundial son chinas (por cierto, la tercera es Telefónica).

Publicado en Noticias | Sin Comentarios »

Publicidad

 
Cerrar
Enviar por Correo