Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Servers
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-11-2003
vetustas vetustas is offline
Miembro
 
Registrado: oct 2003
Posts: 77
Poder: 21
vetustas Va por buen camino
detectar final en excel.

Estoy trabajando con Delphi5 y Paradox. Estoy leyendo datos desde un fichero excel y cargandolos en mi base de datos. El problema es que no se como detectar el final de fichero, es decir que no hay más datos. Yo tengo puesto:
Código:
...

    final:=excel.cells[fila,1].value;
  until (final='0');
Responder Con Cita
  #2  
Antiguo 08-11-2003
vetustas vetustas is offline
Miembro
 
Registrado: oct 2003
Posts: 77
Poder: 21
vetustas Va por buen camino
No se que hice que lancé el msj antes de acabar de escribirlo lo que decia era que yo tengo ese codigo pero para que me funcione tengo que poner un 0 en el fichero de excel lo cual es un rollo porque tengo que entrar en el fichero y modificarlo manualmente y no queda nada pofesional No hay alguna forma de hacerlo usando alguna funcion que mire si una casilla esta vacia o algo asi?
Gracias
Responder Con Cita
  #3  
Antiguo 08-11-2003
Ruben_Cu Ruben_Cu is offline
No confirmado
 
Registrado: oct 2003
Ubicación: Mariel, Cuba
Posts: 271
Poder: 0
Ruben_Cu Va por buen camino
Hola vetustas, prueba utilizar final='' a ver que resultado te da.
En que paró lo de la función Sum
Saludos
Responder Con Cita
  #4  
Antiguo 09-11-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
vetustas comentó:
para que me funcione tengo que poner un 0 en el fichero de excel lo cual es un rollo porque tengo que entrar en el fichero y modificarlo manualmente y no queda nada pofesional No hay alguna forma de hacerlo usando alguna funcion que mire si una casilla esta vacia o algo asi?
A mí me parece que tú misma estás dando la respuesta. ¿Por qué no simplemente comparas el valor de "final" con una cadena vacía en lugar de un cero?

// Saludos
Responder Con Cita
  #5  
Antiguo 09-11-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
También habría que tener en cuenta que un campo puede estar vacio y sin embargo no acabar el fichero ahí.

Yo propongo convertir todo el registro a texto, y si despues de esta operación está vacio, es que hemos llegado al final.

Aunque ahora que lo pienso veo otro inconveniente, que pueda haber un registro completamente vacio y no estar al final.

He hecho una prueba con excel mediante macros, y tampoco excel detecta el final de los datos si hay una fila en blanco, se queda justo antes de esta fila, así que creo que la idea puede valer.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #6  
Antiguo 15-12-2004
rruffino rruffino is offline
Miembro
 
Registrado: dic 2004
Ubicación: Berrotaran, Cordoba - Argentina
Posts: 215
Poder: 20
rruffino Va por buen camino
Thumbs up

me paso lo mismo, lo resolvi haciendo una funcion que recorra las filas hasta que el valor de la celda en es fila=' '. Esto me dio resultado en el caso de que el documento sea continuo, es decir, que no hay filas en blanco.

saludos, Román.-
Responder Con Cita
  #7  
Antiguo 17-01-2005
Toñico Toñico is offline
Miembro
 
Registrado: ene 2005
Posts: 50
Poder: 20
Toñico Va por buen camino
Hola, yo tenía el mismo problema y lo solucioné con estas dos líneas de código
ExcelWS.Cells.SpecialCells(xlCellTypeLastCell,EmptyParam).Activate;
nNumLinExcel := ExcelApp.ActiveCell.Row;

No me acuerdo de donde lo saque, pero conseguí que en la variable nNumLinExcel se almacenara el número de líneas usadas en la hoja excel activa.

Al principio buscaba la primera fila que estuviera en blanco la primera celda, pero me encontré con hojas que tenían filas en blanco aunque detrás seguían con información válida.

Un saludo.
Responder Con Cita
  #8  
Antiguo 17-01-2005
Avatar de DarkSide
DarkSide DarkSide is offline
Miembro
 
Registrado: jun 2003
Ubicación: La Serena - Chile
Posts: 91
Poder: 21
DarkSide Va por buen camino
Prueba con Null en vez de '':
Código:
    ...
    final:=excel.cells[fila,1].value; 
  until (final = Null)
A mi me funciono, claro que estaba trabajando con ADO, pero supongo que es lo mismo.

Saludos
__________________
De los sueños se construye la realidad...
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 01:48:45.


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
Copyright 1996-2007 Club Delphi