![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Cita:
// Saludos |
|
#2
|
|||
|
|||
|
Sólo añadir a la respuesta de Román que, si ORDEN es un campo variable, es decir, que previamente no sabes que nombre va a tener el campo, puedes usar el mismo "truco" que para el Order By
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 ESDE AND :HASTA ORDER BY %s; ModeloDatos.Consulta1.Sql.Text := Format(fmtSql, ['CAMPO', 'ORDEN']); |
|
#3
|
|||
|
|||
|
Pregunta sobre Query
Cadetill:
el código que me pasate anda perfecto para Mueble.CodMueble y Para Mueble.descripcion es decir: Código:
procedure TForm18.ListarClick(Sender: TObject); El código de la Consulta te recuerdo que es: Código:
SELECT Mueble.Codmueble,Mueble.Descripcion,Rubro.Nombre,Seccion.Nombre Gracias, saludos. Silvio.- |
|
#4
|
|||
|
|||
|
Pregunta sobre Query
cadetill:
el código que quise poner antes es: procedure TForm18.ListarClick(Sender: TObject); Var fmSQL:String; begin If Lista.Text='Código' Then begin ModeloDatos.Consulta1.Close; fmSQL:=Modelodatos.Consulta1.SQL.Text; Modelodatos.Consulta1.SQL.Text:=Format(fmSQL,['CodMueble','CodMueble']); ModeloDatos.Consulta1.ParamByName('DESDE').AsInteger:=StrToInt(Desde.Text); ModeloDatos.Consulta1.ParamByName('HASTA').AsInteger:=StrToInt(Hasta.Text); ModeloDatos.Consulta1.Open; end Else If Lista.Text='Descripción' Then begin ModeloDatos.Consulta1.Close; fmSQL:=Modelodatos.Consulta1.SQL.Text; Modelodatos.Consulta1.SQL.Text:=Format(fmSQL,['Descripcion','Descripcion']); ModeloDatos.Consulta1.ParamByName('DESDE').AsString:=Desde1.Text; ModeloDatos.Consulta1.ParamByName('HASTA').AsString:=Hasta1.Text; ModeloDatos.Consulta1.Open; end Else If Lista.Text='Rubro' Then begin ModeloDatos.Consulta1.Close; fmSQL:=Modelodatos.Consulta1.SQL.Text; Modelodatos.Consulta1.SQL.Text:=Format(fmSQL,['Nombre','Nombre']); ModeloDatos.Consulta1.ParamByName('DESDE').AsString:=Desde1.Text; ModeloDatos.Consulta1.ParamByName('HASTA').AsString:=Hasta1.Text; ModeloDatos.Consulta1.Open; end; Y el de la Consulta es: 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 ESDE AND :HASTAORDER BY %s; Disculpame que lo transcriba así, pero la no sé como se usa la etiqueta Code. Gracias.- |
|
#5
|
||||
|
||||
|
Cita:
Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#6
|
|||
|
|||
|
a ver, no se si te he entendido bien
Dices que para las opciones de CodMueble y Descripcion funciona bien, pero en cambio, para la otra opción, Nombre, no te funciona Para ver por donde anda el problema (ya que es de suponer que los muebles han de tener "nombre"), prueba poner un punto de ruptura en la linea donde asignas lo parámetros y ver que parámetros estás pasando y que sentencia SQL estás lanzando. Prueba también a lanzar esa sentencia SQL desde fuera de Delphi a ver si te retorna resultados |
|
#7
|
|||
|
|||
|
Pregunta sobre Query
En realidad el tema es así:
para Mueble.CodMueble y Mueble.Descripcion funciona bien es decir me lista ordenado por esos campos y según la seleccion que yo haya hecho, pero para Rubro.Nombre y Seccion.Nombre, cuando quiero ordenar por uno de esos campos, me devuelve el reporte en blanco es decir sin ningún registro, pero no me da ningún error. Solamente que no hace lo que debiera. Los campos que yo selecciono en mi consulta son esos cuatro. Gracias, saludos. Silvio.- |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|