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)
-   -   Relaciones en tablas .dbf (https://www.clubdelphi.com/foros/showthread.php?t=42457)

snowlis 14-04-2007 16:52:01

Relaciones en tablas .dbf
 
Hola a todos,

Tengo una aplicación Foxpro y cuando accedo a las tablas .dfb (sin exportarlas a .db), en el Database Desktop no puedo definir claves principales o crear relaciones entre tablas. Esto es muy fácil en MS Access (tras adjuntar las tablas), pero en Delphi no sé cómo hacerlo. ¿Me podeis echar una mano?



Saludos,

marcoszorrilla 14-04-2007 17:33:10

Suponiendo que las tablas ya tengan los índices necesarios para crear las relaciones, desde Delphi no tienes más que usar la propiedad MasterSource y MasterFields del Ttable correspondiente.

Un Saludo.

snowlis 14-04-2007 18:45:41

Creo que no, ya que para poder usar mastersource y masterfields para relacionar las tablas antes tengo que haber creado las claves principales y los indices secundarios de las tablas con el database desktop, cosa que no me deja con archivos dbf y si con archivos db, pero a mi me interesa mantener el formato dbf y no convertirlas a paradox.

Teneis alguna idea más, es que parece que con los archivos dbf no se pueden relacionar las tablas de esa manera mediante el database desktop.

brakaman 14-04-2007 20:06:20

Supongo que lo que buscara el Database Desktop sera el archivo de indices *.cdx ¿No lo tienes?

Con este archivo te abrira las tablas junto con sus indices correspondientes (ya estaran asignados).

Antiguamente me acuerdo que para trabajar con estas taplas habia un driver que se llamaba APOLLO (o algo asi), pero habia algo .....

Porque el problema esta en el mantenimiento de los indices, si modificas estas tablas y luego intentas volver a leerlas con el Foxpro no te dejara, tendras que reindexar como minimo.

Los sabios del lugar (Y por algo lo son) te aconsejarian migrar las tablas dbf ó Paradox a Firebird, yo creo que tienen razon.

Saludos.

Caral 14-04-2007 20:20:11

Hola
O en tal caso si ya conoces access y te es facil, pues a access, que de aqui se puede migrar a sqlserver o mysql sin problemas.
En otras palabras, tienes muchas opciones.
Saludos

snowlis 14-04-2007 23:15:33

Lo ideal sería access, pero el problema es que no lo manejo demasiado bien. EL delphi sin embargo es que llevo todo el año trabajando con el y lo conozco bastante más.

El problema es que tengo que hacer un programa que vaya paralelo al que ya utilizan en la empresa en la que trabajo, por lo cual, lo ideal sería que hicieran lo que sea con el que tienen y luego que ejecuten el mio para realizar otras tareas pero siempre trabajando sobre las mismas bases de datos que el programa antiguo, por lo cual no puedo pasarlas a paradox ni cambiarlas de formato porque cortaría el enlace entre un programa y otro.

Así que mi única solución sería trabajar esas tablas dbf desde delphi, pero el problema que tengo es ese, que desde el database desktop no me permite crear claves principales ni indices secundarios ni nada.

Con lo cual, si no hago eso no puedo relacionar las tablas, o por lo menos nose como.

Espero que me podais ayudar, Saludos ;)

brakaman 15-04-2007 11:00:41

Cita:

Empezado por snowlis
.

El problema es que tengo que hacer un programa que vaya paralelo al que ya utilizan en la empresa en la que trabajo, por lo cual, lo ideal sería que hicieran lo que sea con el que tienen y luego que ejecuten el mio para realizar otras tareas pero siempre trabajando sobre las mismas bases de datos que el programa antiguo, por lo cual no puedo pasarlas a paradox ni cambiarlas de formato porque cortaría el enlace entre un programa y otro.

;)

Creo que para lo que quieres hacer lo ideal es esta solucion, es de pago ...
pero http://www.abox.com/productos.asp?pid=78

No creo que incumpla ninguna regla del foro...
(No tengo comision :cool: )

Ya que de lo contrario si tu tocas las tablas posteriormente cuando se habran con el programa que las utiliza tendras que reindexar cada vez, como minimo, lo mas seguro que se corrompan.

Si solamente quieres hacer listados entonces no tienes problema, el database desktop te tiene que abrir las tablas perfectamente con sus indices CDX , entonces podras ver que indices hay definidos y utilizarlos tu en tu programa.

Hace tiempo que no lo he probado pero con tablas del programa contaplus me funcionaba, repito solo en listados e informes.

Saludos.


La franja horaria es GMT +2. Ahora son las 04:44:08.

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