Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-02-2005
Avatar de noe
noe noe is offline
Miembro
 
Registrado: dic 2003
Ubicación: Mexico
Posts: 111
Poder: 21
noe Va por buen camino
Question Error Column does not belong

Saludos a los del foro de delphi.
Tengo el siguiente problema cuando lanzo mi consulta con el siguiente codigo:

procedure TFrm_ConsultaCliente.Edt_NombreChange(Sender: TObject);
Var
total:real;
begin
total:=0;
DataModule1.FIBDS_Facturas.Close;
DataModule1.FIBDS_Facturas.SelectSQL.Clear;
DataModule1.FIBDS_Facturas.SelectSQL.Add('select *');
DataModule1.FIBDS_Facturas.SelectSQL.Add('from Facturas');
DataModule1.FIBDS_Facturas.SelectSQL.Add('Where upper(Cliente) like:Cli');
DataModule1.FIBDS_Facturas.SelectSQL.Add('and estado<>"C a n c e l a d a"');
DataModule1.FIBDS_Facturas.SelectSQL.Add('Order by Folio');
DataModule1.FIBDS_Facturas.ParamByName('Cli').asstring:='%'+uppercase(Edt_Nombre.text)+'%';
DataModule1.FIBDS_Facturas.Open;

while not DataModule1.FIBDS_Facturas.Eof do
begin
total:=DataModule1.FIBDS_FacturasTotal.Value+Total;
DataModule1.FIBDS_Facturas.Next;
end;

Edit1.Text:=Copy(FormatFloat('#,##0.00',total),0,18);

end;

Bueno esta es mi consulta y el mensaje de error que me envia es el siguiente:

DataModule1.FBDS_Facturas.SelectQuery:
Column Does not belong to referenced table.dynamic SQL error
SQL Error code=206
column unknown


Bueno ese es el error que me manda Utilizo los FIBPlus.
y si no me equivoco parece que me desconoce la columna del campo estado.

Bueno muchas gracias espero me puedan ayudar con esto que ya me trae dolores de cabeza.
Gracias
Responder Con Cita
  #2  
Antiguo 21-02-2005
Avatar de sercornejov
sercornejov sercornejov is offline
Miembro
 
Registrado: may 2003
Ubicación: Neiva - Colombia
Posts: 88
Poder: 21
sercornejov Va por buen camino
Bueno.

Estás ORDENANDO por el campo FOLIO, yo tenia problemas ordenando los campos por su nombre, así que los ordene por su índice. Es decir, si el campo es el número 5 de la consulta (SELECT) de coloco ORDER BY 5. Esto empezando con 1,2,3,....,n

e.j.

Select c1,c2,c3,c4,c5,c6,c7
from T1
where upper(C1) like:Cli
and c2>10
Order by 4

Prueba esto. Si no funciona, envia la estructura de la tabla, tipo de datos y tal y lo que quieres hacer y miramos....

Mejor coloca todo el chorro de campos en el select y luego los ordenas como te digo

Sergio
__________________
En Colombia hay muchos, pero muchos colombianos muy buenos. Los violentos son pocos y los vamos a controlar...
Responder Con Cita
  #3  
Antiguo 22-02-2005
Avatar de noe
noe noe is offline
Miembro
 
Registrado: dic 2003
Ubicación: Mexico
Posts: 111
Poder: 21
noe Va por buen camino
Thumbs up

esto es lo que tengo en mi componente FIBDataset en el UPdateSQL
UPDATE FACTURAS
SET FOLIO=:FOLIO,
FECHA=:FECHA,
CLIENTE=:CLIENTE,
CONCEPTO=:CONCEPTO,
TOTAL=:TOTAL,
RFC=:RFC,
SUBTOTAL=:SUBTOTAL,
IVA=:IVA,
DOMICILIO=OMICILIO,
CIUDAD=:CIUDAD,
DIA=IA,
MES=:MES,
ANNO=:ANNO,
ESTADO=:ESTADO,
LETRAS=:LETRAS
WHERE FOLIO=:OLD_FOLIO



y esto en mi componente edit en el evento change

procedure TFrm_ConsultaCliente.Edt_NombreChange(Sender: TObject);
Var
total:real;
begin
total:=0;
DataModule1.FIBDS_Facturas.Close;
DataModule1.FIBDS_Facturas.SelectSQL.Clear;
DataModule1.FIBDS_Facturas.SelectSQL.Add('select *');
DataModule1.FIBDS_Facturas.SelectSQL.Add('from Facturas');
DataModule1.FIBDS_Facturas.SelectSQL.Add('Where upper(Cliente) like:Cli');
DataModule1.FIBDS_Facturas.SelectSQL.Add('and estado<>"C a n c e l a d a"');
DataModule1.FIBDS_Facturas.SelectSQL.Add('Order by Folio');
DataModule1.FIBDS_Facturas.ParamByName('Cli').asstring:='%'+uppercase(Edt_Nombre.text)+'%';
DataModule1.FIBDS_Facturas.Open;

while not DataModule1.FIBDS_Facturas.Eof do
begin
total:=DataModule1.FIBDS_FacturasTotal.Value+Total;
DataModule1.FIBDS_Facturas.Next;
end;

Edit1.Text:=Copy(FormatFloat('#,##0.00',total),0,18);

end;

creo que el campo que me esta dando problemas, es el campo Estado, pero es de tipo texto. No se como es que me da problemas?
Y digo que este campo es el que da problamas porque si elimino de la consulta la opcion de:

DataModule1.FIBDS_Facturas.SelectSQL.Add('and estado<>"C a n c e l a d a"'); el programa corre correctamente.
bueno ese es el problema haber si me puedes ayudar en esto porque la verdad no logro resolver este problema.
Bueno gracias se que cuento con su ayuda.
Responder Con Cita
  #4  
Antiguo 25-02-2010
jnajera jnajera is offline
Registrado
 
Registrado: feb 2008
Posts: 3
Poder: 0
jnajera Va por buen camino
Posible solución.

Hola Noe, lo que tienes que hacer es ver si esta columna existe tanto en tu query como en tu tabla, ya que a mi me paso algo similar y resulto que en query que ejecutaba, el campo al que yo hacia referencia no estaba contenido dentro de la consulta y ver tambien sino es un alias al que haces referencia y en vez de que se llame estado como lo referencias tu, se llame status o algo similar.

Saludos.
Responder Con Cita
  #5  
Antiguo 26-02-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

Lanza esa misma consulta desde un gestor de Firebird, como por ejemplo la versión personal de IBExpert (que es gratuita), y allí te marcará la posición donde está el error.

http://ibexpert.net/ibe/

El error es muy claro, en la consulta estás utilizando un campo que no existe en la Tabla. Aunque a veces no es tan evidente encontrar a que campo se refiere, puesto que cualquier palabra que Firebird no entienda de la consulta, la va a considerar un campo más que quieres devolver, y por lo tanto te dará error si no lo encuentra.

Saludos.
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 21:32:52.


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