Hola a todos/as, les comento el siguiente error que me aparece al compilar el proyecto:
Cita:
Project Project1.exe raised exception class EDBEngineError with message 'Table does not exist.
File or directory does not exist.
File:
C:\Users\...\Carpeta donde se aloja el proyecto\dbCeldas2.DB
File:
C:\Users\...\Carpeta donde se aloja el proyecto\dbCeldas2.DBF
File:
C:\Users\...\Carpeta donde se aloja el proyecto\dbCeldas2.txt
File:
C:\Users\...\Carpeta donde se aloja el proyecto\dbCeldas2'.
Process stopped. Use Step or Run to continue.
|
El código es el siguiente:
Código:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
//---------------------------------------------------------------------------
// Para la tabla dbCeldas2.db (Vemos todas las celdas registradas en la tabla)
//---------------------------------------------------------------------------
Query1->Close();
Query1->DatabaseName = "dbPFC";
Query1->SQL->Add("SELECT * FROM dbCeldas2");
Query1->Active = true;
DataSource1->DataSet = Query1;
DBGrid1->DataSource = DataSource1;
DBGrid1->Options = TDBGridOptions(DBGrid1->Options) << dgRowSelect;
DBNavigator1->DataSource = DataSource1;
//---------------------------------------------------------------------------
// Para la tabla FicheroDT_GSM_DCS_28_02_2013.db (Vemos todos los registros)
//---------------------------------------------------------------------------
Query2->Close();
Query2->DatabaseName = "dbPFC";
Query2->SQL->Add("SELECT * FROM FicheroDT_GSM_DCS_28_02_2013");
Query2->Active = true;
DataSource2->DataSet = Query2;
DBGrid2->DataSource = DataSource2;
DBGrid2->Options = TDBGridOptions(DBGrid2->Options) << dgRowSelect;
DBNavigator2->DataSource = DataSource2;
//---------------------------------------------------------------------------
// Para obtener los resultados de la consulta se inserta otro componente Query3
//---------------------------------------------------------------------------
}
void __fastcall TForm1::DataSource2DataChange(TObject *Sender,
TField *Field)
{
Query3->Close();
Query3->SQL->Clear();
Query3->SQL->Add("SELECT T1.Nombre");
Query3->SQL->Add("FROM dbCeldas2 T1 JOIN FicheroDT_GSM_DCS_28_02_2013 T2 ON T2.ID = :PID AND");
// Condiciones a cumplir (T1.BSIC = T2.BSIC AND T1.BCCH = T2.BCCH_ARFCN)
Query3->SQL->Add("(T1.BSIC = T2.BSIC AND T1.BCCH = T2.BCCH_ARFCN)");
Query3->SQL->Add("ORDER BY Nombre");
Query3->ParamByName("PID")->AsInteger = Query2->FieldByName("ID")->AsInteger;
Query3->Open();
//Si hay ocurrencia de nombre
if(!Query3->FieldByName("Nombre")->AsString.IsEmpty())
{
//Buscará en el Form la caja de texto TEdit1 para que su propiedad
//Text cambie al Nombre de la celda coincidente.
TComponent *CP=NULL;
CP = FindComponent("Edit1");
if (CP != NULL)
(static_cast<TEdit*>(CP))->Text = Query3->FieldByName("Nombre")->AsString;
}
}
La verdad es que no encuentro el motivo del error, ya que ambas tablas sí existen en la ruta/alias creado previamente al que llamé dbPFC. No sé si tendrá algo que ver que la asignación de la propiedad
DatabaseName de los Query1 y Query2 se haga en tienmpo de ejecución... Gracias por vuestro tiempo!!