Hola:
Lo que me indicas es lo mismo que tengo pero puesto en vez de con add en varias líneas con Text en una sola línea, por lo que da el mismo error, en el As, solo que ahora está en la linea 1 Char 60 .
Lo he cambiado así
Código SQL
[-]
DM.IBDSAlumnos.SelectSQL.Add('Select ALUMNOS.CODIALUMNO, Count(*)');
DM.IBDSAlumnos.SelectSQL.Add(' From ALUMNOS');
DM.IBDSAlumnos.SelectSQL.Add(' Left Join FALTAS');
DM.IBDSAlumnos.SelectSQL.Add(' On ALUMNOS.CODIALUMNO = FALTAS.CALUMNO');
DM.IBDSAlumnos.SelectSQL.Add(' Group By ALUMNOS.CODIALUMNO');
DM.IBDSAlumnos.SelectSQL.Add(' Having Count(*) between
ESDE and :HASTA');
DM.IBDSAlumnos.ParamByName('DESDE').AsInteger := StrToInt('0' + EDesde.Text);
DM.IBDSAlumnos.ParamByName('HASTA').AsInteger := StrToInt('0' + EHasta.Text);
DM.IBDSAlumnos.Open;
y ahora pasa sin error pero al abrir la tabla alumnos me da
IBDSAlumnos: campo 'NOMBRE' no encontrado.
Si en el select le añado el campo NOMBRE (Select ALUMNOS.CODIALUMNO, ALUMNOS.NOMBRE, Count(*)) me da otro error en Group By:
Invalid expression in the select list (not contained in either an agregate function or the GROUP BY clause)
Un saludo.