Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 14-08-2014
Avatar de lmpadron
lmpadron lmpadron is offline
Miembro
 
Registrado: feb 2009
Ubicación: Habana, Cuba
Posts: 204
Poder: 16
lmpadron Va por buen camino
Cita:
Empezado por Yugo Ver Mensaje
(...)y me salta la siguiente excepción: 'Invalid field name.BSIC'
Hola Yugo ... por lo que veo, me imagino el error este en que no haces referencia a la tabla2 para abrirla, por lo que al llamarla en el WHERE te dice q el campo BSIC no existe.

Prueba lo siguiente

Código SQL [-]
Query1->Close();
  Query1->SQL->Clear();

  Query1->SQL->Add("SELECT * ");
  Query1->SQL->Add("FROM tabla1, tabla2 "); // AKI AGREGAMOS LA TABLA2 !!!
  Query1->SQL->Add("WHERE tabla1.BSIC = tabla2.BSIC ");  
  //He renombrado el campo Id1 de la tabla1 a BSIC y el campo Id2.1 de la tabla2 tambien a BSIC por simple comodidad.
  //Los campos BSIC de ambas tablas son del mismo tipo (A) y mismo tamaño (6). 
  Query1->SQL->Add("AND tabla1.Frec1 = tabla2.Frec2.1 ");
  Query1->SQL->Add("ORDER BY Nombre1");

  Query1->Open();

Tambien puedes probar con un JOIN

Código SQL [-]
Query1->Close();
  Query1->SQL->Clear();

  Query1->SQL->Add("SELECT tabla1.* ");
  Query1->SQL->Add("FROM tabla1 ");
  Query1->SQL->Add("INNER JOIN tabla2 ON tabla2.BSIC = tabla1.BSIC ");  
  //He renombrado el campo Id1 de la tabla1 a BSIC y el campo Id2.1 de la tabla2 tambien a BSIC por simple comodidad.
  //Los campos BSIC de ambas tablas son del mismo tipo (A) y mismo tamaño (6). 
  Query1->SQL->Add("AND tabla1.Frec1 = tabla2.Frec2.1 ");
  Query1->SQL->Add("ORDER BY Nombre1");

  Query1->Open();

... Claro esto también podrías hacerlo así

Código SQL [-]
  Query1->Close();
  Query1->SQL->Clear();
  Query1->SQL->Add("SELECT tabla1.* FROM tabla1, tabla2"
                                  " WHERE tabla1.BSIC = tabla2.BSIC"
                                  " AND tabla1.Frec1 = tabla2.Frec2.1 "
                                  " ORDER BY tabla1.Nombre1");
   Query1->Open();

... o
Código SQL [-]
  Query1->Close();
  Query1->SQL->Clear();
  Query1->SQL->Add("SELECT * FROM tabla1"
                                  " INNER JOIN tabla2 ON tabla2.BSIC = tabla1.BSIC"
                                  " AND tabla1.Frec1 = tabla2.Frec2.1 "
                                  " ORDER BY tabla1.Nombre1");
   Query1->Open();

... o incluso una mejor

Código SQL [-]
  Query1->Close();
  Query1->SQL->Clear();
  Query1->SQL->Add("SELECT t1.* FROM tabla1 t1, tabla2 t2"
                                  " WHERE t1.BSIC = t2.BSIC"
                                  " AND t1.Frec1 = t2.Frec2.1 "
                                  " ORDER BY t1.Nombre1");
   Query1->Open();

... o
Código SQL [-]
  Query1->Close();
  Query1->SQL->Clear();
  Query1->SQL->Add("SELECT * FROM tabla1 t1"
                                  " INNER JOIN tabla2 t2 ON t2.BSIC = t1.BSIC"
                                  " AND t1.Frec1 = t2.Frec2.1 "
                                  " ORDER BY t1.Nombre1");
   Query1->Open();

un poco mas limpio verdad !!!
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código.


Cuando miras fijamente al abismo, este te devuelve la mirada


oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_
oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_
oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_
oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_
oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_
ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_
________________________________________________________________________________

Última edición por lmpadron fecha: 14-08-2014 a las 22:49:09.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Migrar version BCB6 Toni C++ Builder 6 20-10-2014 14:44:32
TurboPower Systool bcb6 eldonfsr C++ Builder 0 15-01-2008 04:11:35
Coincidencia?? vtdeleon Debates 2 28-04-2006 13:43:17
Exportación de datos de Excel a Tablas Paradox Mone Conexión con bases de datos 1 31-10-2005 21:15:40
Como buscar en una tabla Paradox ? gregorio Tablas planas 2 25-04-2005 18:54:29


La franja horaria es GMT +2. Ahora son las 07:13:10.


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