Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Auxilio...Leer Datos De Excel En Una DataGrid Vb 6.0

Estas en el tema de Auxilio...Leer Datos De Excel En Una DataGrid Vb 6.0 en el foro de Visual Basic clásico en Foros del Web. Buenas.... Desde el lunes vengo ensayando, una conexion Entre Visual Y Excel, en una pag me encontre un codigo, le corregi cosas y funciono a ...
  #1 (permalink)  
Antiguo 25/06/2008, 13:37
Avatar de Clark_23  
Fecha de Ingreso: junio-2008
Mensajes: 3
Antigüedad: 15 años, 10 meses
Puntos: 1
Auxilio...Leer Datos De Excel En Una DataGrid Vb 6.0

Buenas....
Desde el lunes vengo ensayando, una conexion Entre Visual Y Excel, en una pag me encontre un codigo, le corregi cosas y funciono a la perfeccion, (Gracias a informacion Que Entre Aca.....), y ahora entento hacer otro pero mejoras; Utilizo DriverListBox,DirlistBox,FileListBox para buscar el archivo, Un TextBox para la Ruta, otro para El nombre De la Hoja y por ultimo dos mas para la celda de inicio y de fin si el usuario solo quiere ver un segmento, y un command para mostrarla. Utlizo la referencia Microsoft Activex Data Objects 2.1
El compilador muesta el error en la cadena de Conexion. Error '-214746729 (80004005)' En Tiempo De Ejecucion: No se puedo Encontrar el Archivo ISAM Instalable.

Option Explicit
Public Ruta As String, Hoja As String, Rango As String

Private Sub CmdMostar_Click()
'Asignacion De los Valores de c/u de las variables
Ruta = TxtRuta.Text 'Sera El Path o Ruta Del Archivo A Visualizar
'Especificacion Del Rango si el usuario Solo quiere ver un segmento
Rango = Trim(TxtCelInicio.Text & ":" + TxtCelFinal.Text) 'Se concatenan La Celda Inicial y la Final con ":", Ademas _
De Verificar que no queden Espacios en blanco a los laterales de la cadena, con la funcion "Trim"
If Rango = ":" Then 'Se Compara El Rango con ":" para saber si no fue asignado
Hoja = TxtHoja.Text + "$" 'Hoja Sera la variable que hara referencia a el nombre de la hoja de excel,siempre este nombre de ir _
Acompañado con El Signo De Dolares "$"
Else 'Lo que significa Que el Rango si fue Asignado
Hoja = TxtHoja.Text & "$" & Rango 'Se Concatenan los Tres Valores...."Nombre De La Hoja", " Signo De Dolares","El Rango"
End If
Leer_Datos_De_Excel_En_Un_DataGird 'Se Llama el procedimiento que nos mostrara los Datos En la DataGrid
End Sub

Private Sub DirUbicacion_Change()
FilUbicacion.Path = DirUbicacion.Path
End Sub

Private Sub DrvUbicacion_Change()
DirUbicacion.Path = DrvUbicacion.Drive
End Sub

Private Sub FilUbicacion_Click()
If Len(FilUbicacion.Path) = 3 Then
TxtRuta.Text = (FilUbicacion.Path + FilUbicacion.FileName)
Else
TxtRuta.Text = (FilUbicacion.Path + "\" + FilUbicacion.FileName)
End If
End Sub

Sub Leer_Datos_De_Excel_En_Un_DataGird()

Dim Conexion_Excel As New ADODB.Connection, RsExcel As New ADODB.Recordset

Set Conexion_Excel = New ADODB.Connection
' EN LA SIGUIENTE LINEA MUESTRA EL ERROR
Conexion_Excel.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Ruta & ";Extented Properties=""Excel 8.0;HDR=Yes;""" ' AQUI MUESTRA EL ERROR
Set RsExcel = New ADODB.Recordset
With RsExcel
.CursorType = adOpenStatic
.LockType = adLockOptimistic
.CursorLocation = adUseClient
.Open "Select * From [" & Hoja & "]", Conexion_Excel, , , adCmdText
End With

Set DataGrid.DataSource = RsExcel

End Sub
[/COLOR]


Ya He buscado En Google... y no he encotrado nada...
Gracias De Antemano...se falta informacion me avisan...
Salu2
Clark
  #2 (permalink)  
Antiguo 26/06/2008, 01:49
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: Auxilio...Leer Datos De Excel En Una DataGrid Vb 6.0

Hola,

prueba haciendo la conexión así:

Código PHP:
With Conexion_Excel
    
.Provider "Microsoft.Jet.OLEDB.4.0"
    
.ConnectionString "Data Source= " Ruta ";Extended Properties=Excel 8.0;"
    
.Open
End With 

  #3 (permalink)  
Antiguo 26/06/2008, 21:02
Avatar de Clark_23  
Fecha de Ingreso: junio-2008
Mensajes: 3
Antigüedad: 15 años, 10 meses
Puntos: 1
Auxilio...Leer Datos De Excel En Una DataGrid Vb 6.0

Uy..Amigo Eres El mejor de uno paro de salir el error...Te Agradesco demasiado, se ve que eres Excelente programador...
estoy tratando de desarrollar bien este programa, por que me he dado cuenta de que aqui en esta magnifica comunidad, como en otros lugares no hay un bien ejemplo del manejo de esta conexion entre Vb6.0 y Excel, espero terminarlo para subir algun servidor(MegaUpload, rapishared o cualquier otro), pero que mas gente se beneficie...Disculpa mi ignorancia, y de nuevo te pregunto, no tienes conocimiento de como averiguar los nombres de las hojas del libro que se abrio....

Gracias De Nuevo....
Espero que sigas ayuda a las personas...(Me Incluyo)
Salu2
Clark
  #4 (permalink)  
Antiguo 27/06/2008, 00:32
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: Auxilio...Leer Datos De Excel En Una DataGrid Vb 6.0

Mira, en este pequeño ejemplo mostramos en un control ListBox los nombres de todas las hojas del archivo Excel:


Código:
Private Sub Command1_Click()
    Dim oExcel As Object, i As Integer
    Set oExcel = GetObject(App.Path & "\Archivo.xls")
    For i = 1 To oExcel.Sheets.Count
        List1.AddItem oExcel.Sheets(i).Name
    Next i
    oExcel.Application.Quit
    Set oExcel = Nothing
End Sub

  #5 (permalink)  
Antiguo 08/07/2008, 04:57
Avatar de Clark_23  
Fecha de Ingreso: junio-2008
Mensajes: 3
Antigüedad: 15 años, 10 meses
Puntos: 1
Auxilio...Leer Datos De Excel En Una DataGrid Vb 6.0

Excelente ... El ejemplo me sirvio a la perfeccion, pude lograr a que despues de elejir la ruta, se cargara en un combo box los nombres de las hojas del libro .
Amigo me disculpo por no haber posteado antes... Reinstale el pc por la que tuve algo de problemas con el y ademas esta semana estuve descansando y molestando con amigos , por lo que era la ultima de vacaciones ...

Te disparo nuevamente una pregunta : Como hare para que despues de una busqueda que haga en la DataGrid (Ya hice el buscador con la Funcion "Find"), como puedo hacer para guardar las cambios despues de edtitar o ingrasarle informacion adicional, es que ya lo intente con el " Requery", "Upload" pero no me dan.Creo que toca utilizar funciones del lenguaje de las macros

Loco, no tienes conociento de algo de esto... o no se te ocurre de donde puedo sacar informacion...

Gracias de antemano y por lo anterior
Un Saludo
Clark
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:35.