Ver Mensaje Individual
  #26  
Antiguo 27-04-2004
silviodp silviodp is offline
Miembro
 
Registrado: may 2003
Ubicación: General Levalle, Argentina
Posts: 277
Reputación: 24
silviodp Va por buen camino
Pregunta sobre Query

Cadetill:
probé desde el Explorador de bases de datos de la Consulta lo siguiente:
Código:
SELECT Mueble.Codmueble,Mueble.Descripcion,Rubro.Nombre,Seccion.Nombre
FROM Mueble INNER JOIN Rubro ON Mueble.Rubro=Rubro.CodRub
                        INNER JOIN Seccion ON Mueble.Seccion=Seccion.Codigo
WHERE Rubro BETWEEN 1 AND 2
ORDER BY Rubro.Nombre;
y me arroja el resultado que quiero, lo que hice fué sustituir los parámetros por valores (Rubro, 1,2,Rubro.Nombre), pero si a estos valores los sustituyo por los parámetros, es de decir:
Consulta:
Código:
SELECT Mueble.Codmueble,Mueble.Descripcion,Rubro.Nombre,Seccion.Nombre
FROM Mueble INNER JOIN Rubro ON Mueble.Rubro=Rubro.CodRub
                        INNER JOIN Seccion ON Mueble.Seccion=Seccion.Codigo
WHERE %s BETWEEN :DESDE AND :HASTA
ORDER BY %s;
Y ejecuto:
Código:
procedure TForm18.ListarClick(Sender: TObject);
Var
 fmSQL:String;
Begin
 If Lista.Text='Rubro' Then
   begin
     ModeloDatos.Consulta1.Close;
     fmSQL:=Modelodatos.Consulta1.SQL.Text;
  3)   Modelodatos.Consulta1.SQL.Text:=Format(fmSQL,['Nombre','Rubro.Nombre']);
     ModeloDatos.Consulta1.ParamByName('DESDE').AsString:=Desde1.Text;
     ModeloDatos.Consulta1.ParamByName('HASTA').AsString:=Hasta1.Text;
     ModeloDatos.Consulta1.Open;
   end;
no me arroja ningún resultado es decir 0 (cero) registros.
y sustituyendo en la línea 3 del código, 'Nombre' por 'Rubro' me da:

Error: 'Type mismatch in expression'.
Me parece que el problema puede estar en los parámetros, pero ya probé de muchas formas pero no lo puedo resolver.
Gracias.

Silvio.-
Responder Con Cita