Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-06-2004
Avatar de orfeo
orfeo orfeo is offline
Miembro
 
Registrado: may 2003
Posts: 99
Poder: 24
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
  #2  
Antiguo 16-06-2004
JorgeBec JorgeBec is offline
Miembro
 
Registrado: jul 2003
Posts: 159
Poder: 24
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
  #3  
Antiguo 17-06-2004
JorgeBec JorgeBec is offline
Miembro
 
Registrado: jul 2003
Posts: 159
Poder: 24
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
  #4  
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
  #5  
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
  #6  
Antiguo 17-06-2004
JorgeBec JorgeBec is offline
Miembro
 
Registrado: jul 2003
Posts: 159
Poder: 24
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
  #7  
Antiguo 17-06-2004
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 24
marto Va por buen camino
¿Es posible que tengas el excel abierto?
__________________
E pur si muove
Responder Con Cita
  #8  
Antiguo 16-06-2005
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
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
  #9  
Antiguo 25-06-2005
Avatar de orfeo
orfeo orfeo is offline
Miembro
 
Registrado: may 2003
Posts: 99
Poder: 24
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
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 13:42:45.


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