Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Problema en consulta a excel con ado (https://www.clubdelphi.com/foros/showthread.php?t=94962)

juggern 25-11-2020 10:37:15

Problema en consulta a excel con ado
 
Buenos días chicos,

Estoy leyendo un excel y quiero guardarlo en un dbgrid.

He estado leyendo por el foro y estoy intentándolo con ADO. He leido varios hilos de como conectar y creo que conecta bien, el problema es que no me rellena nada en el dbgrid.
Lo conseguí una vez, pero luego ya no me ha vuelto a rellenar nada, me deja el dbgrid vacío sin más.

El excel es un excel97-2003 y tiene la primera fila con la cabecera y el resto ya datos. Solo tiene una hoja llamada Clientes

En el connectionstring del ADOConnection pongo:

Código:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Usuario\Desktop\Clientes.xls;Mode=Read;Persist Security Info=False;Extended Properties="Excel 8.0;IMEX=1;HDR=YES";
Al hacer el Connected a True, parece ir bien.

Luego tengo un DataSource para vincularlo al DBGrid y al DataSource le vinculo un ADOQuery con la siguiente consulta:

Código:

SELECT * FROM [Clientes$]
Una de las veces me funcionó, pero no se ni como, ya no he conseguido volver a cargar los datos.

Gracias!!

Un saludo

Casimiro Notevi 25-11-2020 10:47:24

Tú no rellenas un dbgrid, un dbgrid es una "ventana" a los datos proporcionados por un dataset. Según lo que hay en el dataset, eso es lo que se mostrará en el dbgrid. Tan sólo debes enlazarlo mediante un datasource: dataset -> datasource -> dbgrid.
Si está bien enlazado, entonces es problema del dataset que no ha encontrado datos.

Neftali [Germán.Estévez] 25-11-2020 12:24:42

Si la conexión ha conectado (Connected/Active es True) es que esa parte está bien.
Si eso funciona, elimina el Dataset (TADOQuery) y vuelve a colocarlos.
Lo mismo pasa con el TADOQuery. Si conecta y consigues activarlo es que la conexión se ha hecho correctamente.
Por último sólo te queda eliminar el DBGrid y volver a crearlo y conectarlo.

Es difícil poder afinar más sin saber qué es lo que tienes.

Si puedes subir un pequeño proyecto de ejemplo y la hoja de Excel (aunque sea con otros datos) podemos revisarlo.


La franja horaria es GMT +2. Ahora son las 18:35:26.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi