Ver Mensaje Individual
  #1  
Antiguo 27-09-2014
Yugo Yugo is offline
Miembro
NULL
 
Registrado: jul 2014
Posts: 25
Reputación: 0
Yugo Va por buen camino
EDBEngineError with message 'Table does not exist.

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!!
Responder Con Cita