Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/08/2008, 09:26
Avellaneda
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Saludos, problema con acceso a datos..

Cita:
Iniciado por Arlesico Ver Mensaje
Saludos..

Soy un programador basnte novel de Visual Basic, y me ha surgido la necesidad de acceder a datos de una hoja de excel.

Hasta ahora estaba accediendo a Access mediante adodb y me apañaba bastante bien con mis consultas SQL, cubriendo de sobra mis necesidades.

AHora bien, con excel, no se si el procedimiento es igual. Imagino que habrá que tulizar un proveedor de datos de excel, y que la sintasix, de las consultas SQL variará al no ser excel una base de datos...

Me encuentro bastante perdido, si alguien me lo pudiera explicar brevemente le estaría agradecido. Un codigo minimo de ejemplo donde se vea el metodo para hacer una consulta una hoja de excel me sería muy util.

Un saludo.
Saludos,

bueno, Excel funciona como una base de datos y las consultas SQL son practicamente iguales que si trabajaras con una BD Access.

Te pongo un pequeño ejemplo que mediante una conesión OLEDB puedes mostrar los datos de la hoja Excel en un control DataGrid:

Código:
Private Sub Command1_Click()
    Dim cn As ADODB.Connection
    Set cn = New ADODB.Connection
    ' Conexión ADO al Libro Excel
    With cn
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .ConnectionString = "Data Source= " & App.Path & "\Libro1.xls;Extended Properties=Excel 8.0;"
        .CursorLocation = adUseClient
        .Open
    End With
    Dim rs As New ADODB.Recordset
    rs.Open "SELECT * FROM [Hoja1$]", cn, adOpenDynamic, adLockOptimistic
    Set DataGrid1.DataSource = rs
End Sub
Tan sólo tienes que tener en cuenta que al hacer referencia a la tabla (Hoja1) tienes que agregarle al final el símbolo del dólar "$" y encerrarla entre corchetes "[]"