Hola
Empiezo con el programa, y muchos problemas de sql.
Para empezar, estoy conectado con los componentes ADO por odbc.
Consulta 1:
Código SQL
[-]
QTemp.SQL.Text := 'Select CodUsuario From Usuarios WHERE Graficar = True';
Graficar es un campo
boolean, por eso esta el
true, la base de datos
firebird lo cambia por un campo
varchar y lo cambia a
T.
Pregunta:
Como hago esta sentencia en delphi con ese tipo de campo (varchar).
Consulta 2:
Código SQL
[-]
SELECT OrdenProd.CodOrden, Clientes.NombreCliente, OrdenProd.FechaInicio, OrdenProd.FechaRequerido, OrdenProd.FechaFinal, OrdenProd.OrdenCompra, OrdenProd.CodUsuario, OrdenProd.Prioridad,
IIf([Descripcion] Is Null,"Creación de Orden",[Descripcion]) AS Estacion, OrdenProd.CodCliente, OrdenProd.Enrutada, OrdenProd.Comentarios
FROM (Clientes RIGHT JOIN OrdenProd ON Clientes.CodCliente = OrdenProd.CodCliente) LEFT JOIN (OrdenProdItem LEFT JOIN Estaciones ON OrdenProdItem.Estacion = Estaciones.EstacionID) ON OrdenProd.CodOrden = OrdenProdItem.CodOrden
GROUP BY OrdenProd.CodOrden, Clientes.NombreCliente, OrdenProd.FechaInicio, OrdenProd.FechaRequerido, OrdenProd.FechaFinal, OrdenProd.OrdenCompra, OrdenProd.CodUsuario, OrdenProd.Prioridad,
IIf([Descripcion] Is Null,"Creación de Orden",[Descripcion]), OrdenProd.CodCliente, OrdenProd.Enrutada, OrdenProd.Comentarios
ORDER BY OrdenProd.CodOrden DESC;
Bueno aqui se complica mas la cosa.
1-Firebird no hacepta ( [] corchetes )., se cambian a no se necesitan?
2-Firebird no acepta ( IIF Is Null ), Con que se cambian ?
Consulta 3:
Código Delphi
[-]
AQItems.SQL.Text:=
'SELECT OrdenProdItem.CodOrdenItem AS Línea, OrdenProdItem.CodParte AS Código, '+
'Articulos.Descripcion AS Descripción, Articulos.Categoria AS Categoría, Articulos.SubCategoria AS [Sub Categoría], OrdenProdItem.NumSerie AS [# Pieza],
IIf([EnProceso],"SI","NO") AS [En Proceso?] '+
'FROM OrdenProdItem, Articulos, Estaciones '+
'WHERE (((OrdenProdItem.CodOrden)=[COD]) AND ((OrdenProdItem.CodParte)=[Articulos].[CodParte]) AND ((Estaciones.Descripcion)=[EST]) AND ((OrdenProdItem.Estacion)=[Estaciones].[EstacionID])) '+
'ORDER BY OrdenProdItem.CodOrdenItem; ';
Aqui el problema es casi el mismo:
1- Firebird no acepta ( IIF Is Null ).
2- Tanto COD como EST, son parametros que estan incluidos en parameters del query, firebird no los reconoce.
Bueno tengo mas, pero con esto ya me medio guio y tengo para un rato.
Nota: en ibexpert he hecho ya las consultas, pero o no me salen los datos del todo o me da muchos errores.
Me ayudais por favor.
Saludos