![]() |
Problema con Database en Datamodule
Hola a todos!!
Vereis, tengo el problema siguiente: he hecho un programa de gestion en delphi 5 y, como es evidente, con sus bases de datos (en paradox). Dentro de delphi utilizo tablas del tipo TTable junto con sus TDatasource, todas las tablas ubicadas en un Datamodule y ligadas todas ellas a un TDatabase. Por otra parte, para hacer la gestión correcta se tiene que hacer la contabilidad cada año (por ejemplo) y por tanto, lo que hago cada año (a partir de ahora jejeje) es copiar la carpeta entera (donde hay el ejecutable y bases de datos *.db), voy al DBEAdministrator y creo un nuevo Alias (y en la propiedad AliasName del TDatabase le cambio el alias por este nuevo). Hasta aquí bien, no? Pues ahora viene el problema: cuando abro uno de los dos ejecutables a veces se va a la base de datos de un año diferente, y yo creo que pasa esto porque al ejecutar el programa se crea un Alias temporal en el DBEExplore, que este alias corresponde al nombre que le he dado en la propiedad DatabaseName del TDatabase, y supongo que el programa corre bajo este alias temporal. Bueno, otro problema es que no puedo abrir los ejecutables a la vez, y supongo que es por el mismo problema. Podéis decirme como solucionar este conflicto y que cada ejecutable de un cierto año se corresponda con las bases de datos del mismo año, y si puede ser, que se abran los ejecutables a la vez? Si no entendéis algo decirme alguna cosa. Gracias anticipadas |
abrir dos ejecutables iguales apuntando a distintas bases
Hola que tal!!!
He seguido intentando saber porque no funciona pero no me ha salido. Si no entendéis la pregunta porque me expresé mal decidme algo, vale? Me corre un poco de prisa, así que se gustaría que respondiérais, aunque si no lo haceis no os guardaré "rencor" ya que me habéis ayudado muchas veces jejejeje!!! Gracias de antemano!!! |
En lugar de usar alias, si las tablas están en el mismo directorio del exe (o en algún subdirectorio), puedes hacer algo así
Código:
if Database1.Connected then Database1.Connected := false; Por otro lado, esta manera de trabajar no es que sea muy.... ¿normal? Algo más lógico podría ser tener una carpeta por cada año con las tablas y un sólo ejecutable. Al arrancar el programa, preguntar año de trabajo y que se conectara a la carpeta del año seleccionado. Con lo que te he dicho arriba, no te sería complicado |
La franja horaria es GMT +2. Ahora son las 22:42:38. |
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