Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-06-2004
JorgeBec JorgeBec is offline
Miembro
 
Registrado: jul 2003
Posts: 159
Poder: 21
JorgeBec Va por buen camino
Componente FreeWare que importe doctos de excel a dbf

Hola! como continuacion de mi anterior mensaje, quisiera saber si alguien conoce un componente freeware que importe de excel a dbf, se los agradecere...bye...
Responder Con Cita
  #2  
Antiguo 16-06-2004
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 21
marto Va por buen camino
mira aquí
__________________
E pur si muove
Responder Con Cita
  #3  
Antiguo 16-06-2004
Avatar de orfeo
orfeo orfeo is offline
Miembro
 
Registrado: may 2003
Posts: 99
Poder: 22
orfeo Va por buen camino
el Database Export hace casi lo que queres.. http://www.korzh.com

es un componente que Toma un dataset del BDE (en tu caso asociado a un .xls) y lo exorta a muchos formatos en particular .dbf

los formatos son:

TKDatasetToText - export data from an active dataset into text file;
TKDatabaseToText - export and import whole database to the text files. Memo and BLOB fields are also supported;
TKDatasetToHTML - save an active dataset as HTML file;
TKDatasetToDBF - save an active dataset into DBase table;
TKDatasetToPrint - print dataset;
__________________
Aprendamos a ser civilizados
Responder Con Cita
  #4  
Antiguo 16-06-2004
JorgeBec JorgeBec is offline
Miembro
 
Registrado: jul 2003
Posts: 159
Poder: 21
JorgeBec Va por buen camino
Antes que nada gracias por sus respuestas, bien me gusto la solucion que me diste Orfeo, de hecho ya la instale, pero ahora lo complicado o que al menos no se como hacerle, es, como crear poner un .xls en un DataSet??? por que el componente que me señalas lo ligas con un Dataset...


PD Varios colegas me han señalado el hacerlo con ADO, pero cabe señalar que estoy con Delphi 4 y sino me equivoco, no hay componentes ADO para esta version...
Responder Con Cita
  #5  
Antiguo 17-06-2004
JorgeBec JorgeBec is offline
Miembro
 
Registrado: jul 2003
Posts: 159
Poder: 21
JorgeBec Va por buen camino
siguiendo con las pruebas del componente KdataSet, he intentado lo siguiente... con ODBC creo el alias con el driver xls, utilizo un TTable(por que no se cual utilizar) y le asignas el DatabaseName del alias que se creo por ODBC, pero obviamente a la hora de correrlo me dice que no hay un tablename asignado, y mi pregunta es entonces que componente que actue como DataSet utilizar??? o de plano ando perdido???


agradecere sus respuestas...
Responder Con Cita
  #6  
Antiguo 17-06-2004
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:
Empezado por JorgeBec
o de plano ando perdido???
No, para nada, sólo te falta asignar el nombre de la tabla. Acabo de hacer una prueba igual a la tuya con BDE y ODBC y aunque la propiedad TableName no me lista las hojas en el inspecor de objetos, puedo escribir directamente el nombre de la hoja. Únicamente ten en consideración que debes agregar un signo $ al final del nombre de la hoja.

// Saludos
Responder Con Cita
  #7  
Antiguo 17-06-2004
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
Otra cosa:

Te recomiendo que en lugar de asociar el Table directamente al alias ODBC lo hagas a través de una componente TDatabase:

Código:
Database1.AliasName -> alias ODBC
Database1.DatabaseName -> 'mibase' (puede ser cualquier nombre)
Database1.LoginPrompt -> false
Table1.DatabaseName -> 'mibase'
para que no te pida contraseña.

Por otra parte no necesitas ninguna componente extra para convertir a Dbase, Delphi trae todo lo necesario.

Te pongo un ejemplo.

Además de las componentes que ya tienes (Database1 y Table1) agrega otra TTable (digamos Table2) y le pones un nombre en TableName (el que gustes), y añade también una componente BatchMove que sirve precisamente para hacer transferencias.

Usa el siguiente código:

Código Delphi [-]
{ Creas la tabla destino }
Table2.TableName := 'exportado.dbf'; // cualquier nombre que gustes
Table2.TableType := ttDbase;
Table2.FieldDefs.Assign(Table1.FieldDefs);
Table2.CreateTable;

{ Transfieres datos }
BatchMove1.Source := Table1;
BatchMove1.Destination := Table2;
BatchMove.Execute;

¡Listo! Eso es todo.

// Saludos
Responder Con Cita
  #8  
Antiguo 17-06-2004
JorgeBec JorgeBec is offline
Miembro
 
Registrado: jul 2003
Posts: 159
Poder: 21
JorgeBec Va por buen camino
Siguiendo tu ultimo mensaje roman, a la hora de correr el programa me manda este mensaje...

raised exception class EDBEngineError with message 'Key violation' Microsoft odbc excel driver The Microsoft Jet DataBase Engine cannot open the file unknown it is already opened

General sql error
exclusively by another user or you need permission


por que podra ser...???

Última edición por JorgeBec fecha: 17-06-2004 a las 17:55:15.
Responder Con Cita
  #9  
Antiguo 17-06-2004
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 21
marto Va por buen camino
¿Es posible que tengas el excel abierto?
__________________
E pur si muove
Responder Con Cita
  #10  
Antiguo 17-06-2004
JorgeBec JorgeBec is offline
Miembro
 
Registrado: jul 2003
Posts: 159
Poder: 21
JorgeBec Va por buen camino
Tal vez lo que hice mal fue ponerle la propiedad Tablename de Table1 mal, lo puse de la siguiente forma

Lotes.xls$ y tambien probe de la siguiente forma
Lotes$

y de las 2 formas me manda el error antes mencionado y no, no tengo abierto Excel...
Responder Con Cita
  #11  
Antiguo 17-06-2004
JorgeBec JorgeBec is offline
Miembro
 
Registrado: jul 2003
Posts: 159
Poder: 21
JorgeBec Va por buen camino
Ok, ya paso el error ahora me marca lo siguiente


Código:
Table2.CreateTable;
en esta linea me marca 'EDBEngine with message Invalid Parameter '

supongo que algo en el Table2 esta mal, que podra ser???
Responder Con Cita
  #12  
Antiguo 16-06-2005
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Poder: 21
mRoman Va por buen camino
Pregunta a ORFEO

Oye ORFEO, ya baje los componentes para exportar, realice un formulario llamado frmExportar, y a este le agregue el componente para Exportar a DBF, despues agregue un DataSet el cual tiene los datos que deseo exportar, visite la página de "korzh" y ahi menciona que en el procedure Transefer(...), que guarde el contenido del dataset, pero la verdad no sé en donde exactamente cambiarle...ya tengo integrado el archivo KDS2DBF.PAS a mi proyecto y desde el formulario que elaboré (frmExportar), lo quiero ejecutar, pero no sé que mas debo de cambiarle al archivo KDS2BDF para que funcione o no le tengo que hacer nada?......la bronca ademas de lo anterior, como lo ejectuo.

Gracias y disculpa, pero son mis inicios en Delphi. AH, utilizo Delphi6
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #13  
Antiguo 25-06-2005
Avatar de orfeo
orfeo orfeo is offline
Miembro
 
Registrado: may 2003
Posts: 99
Poder: 22
orfeo Va por buen camino
Huu, perdona la demora...

Esto es facil, debe colocar un componete de exportacion de los que trae Database Export y un TTable o TQuery (el que te guste mas)

Supongamos que colocas un TTable y un KDataSetToDBF esto te creara las variables KDataSetToDBF1 y Table1 dentro del formulario

Debes configurar el Table1 con los parametros de la DB origen luego desde un evento onClick de un boton pones el codigo:

Código:
  Table1.close;
  KDataSetToDBF1.DataSet:=Table1;
  Table1.open;

  luego con 

  KDataSetToDBF1.Transfer('c:\a.dbf');

  Te exporta el DataSet al archivo c:\a.dbf y listo.
Tambien anda en un query. Yo tambien uso Delphi 6 (no deberias tener problemas)

Este componente usa el TBatchMove que trea nativamente el DBE para lograr su funcion.

hasta la proxima...
__________________
Aprendamos a ser civilizados
Responder Con Cita
  #14  
Antiguo 25-06-2005
ercrizeporta ercrizeporta is offline
Miembro
 
Registrado: jun 2005
Posts: 131
Poder: 19
ercrizeporta Va por buen camino
por favor, una ayuda!!

buenas antes de nada decir que no se como añadir un nuevo tema al foro. espero que alguien lea mi pregunta y a ver si podeis hacer el favor de contestarme, tb agradecería me dijerais como crear nuevos temas.
mis dudas sobre delphi son las siguientes:
1.- como ir posicionando el control del foco de un formulario hacia el campo que yo kiera en el momento que yo crea oportuno.

2.- una funcion prefijo, la cual me diga si una cadena de caracteres es prefijo de otra.

3.- como ir cambiando la posicion del cursor en un listbox.

mi idea es poner un edit y en la propiedad on change hacer que el cursor del listbox apunte hacia el primer item cuyo comienzo de palabra sea el mismo que en el edit.
sin mas despedirme y agradecer si alguien pudiera ayudarme a conseguir estas funciones. Muchas gracias!!!
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 03:08:49.


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