Ver Mensaje Individual
  #5  
Antiguo 20-03-2013
ginesgomezlopez ginesgomezlopez is offline
No confirmado
NULL
 
Registrado: jun 2012
Posts: 45
Reputación: 0
ginesgomezlopez Va por buen camino
Al final he hecho un híbrido a lo que me habéis dicho, he creado un Combobox en el Formulario Principial donde están los distintos ejercicios, 12,13,14...., al ejecutar el programa por primera vez coge el ejercicio que hay en el combobox


Código Delphi [-] procedure TDataModule1.DataModuleCreate(Sender: TObject);
Var
BaseDeDatos: String;
ElIniFile: TIniFile;
ejercicio:string;
begin
// Obtiene la ruta y el nombre de la base de datos
ElIniFile := TIniFile.Create(ExtractFilePath(Application.exename)+'BDatos.ini');
BasedeDatos := ElIniFile.ReadString('BD','Path','');
If BasedeDatos = '' then
// ShowMessage('Error al cargar Base de Datos') else
ibdatabase1.Connected:=false;
ejercicio:=FormPrincipal.Combobox1.text;
BaseDeDatos:=BaseDeDatos+'Datos'+ejercicio;
ibdatabase1.DatabaseName:=BasedeDatos+'\Maestro.ib'; // BaseGeneral es el TIbDatabase y le asigno la ruta de la base de datos segun .ini
ibdatabase1.Connected:=true;
end;




y luego al cambiar el Combobox de ejercicio he hecho lo siguiente:


Código Delphi [-]procedure TFormPrincipal.ComboBox1Change(Sender: TObject);
Var
BaseDeDatos: String;
ElIniFile: TIniFile;
ejercicio:string;
begin
// Obtiene la ruta y el nombre de la base de datos
dat.DataModule1.IBDatabase1.Connected:=false;
ElIniFile := TIniFile.Create(ExtractFilePath(Application.exename)+'BDatos.ini');
BasedeDatos := ElIniFile.ReadString('BD','Path','');
If BasedeDatos = '' then
// ShowMessage('Error al cargar Base de Datos') else
dat.DataModule1.IBDatabase1.Connected:=false;
ejercicio:=FormPrincipal.Combobox1.text;
BaseDeDatos:=BaseDeDatos+'Datos'+ejercicio;
dat.DataModule1.IBDatabase1.DatabaseName:=BasedeDatos+'\Maestro.ib'; // BaseGeneral es el TIbDatabase y le asigno la ruta de la base de datos segun .ini
dat.DataModule1.IBDatabase1.Connected:=true;
end;





Falta mejorar algunos detalles, pero funciona bien, espero que sea estable en el tiempo que esa es otra

Gracias por vuestra ayuda.
Responder Con Cita