SqL para preenchimento de labels em form (report)

Delphi

15/01/2014

Olá pessoal.

Boa tarde.

Tenho um form com nº e labels na frente de cada numero (esse vai ser meu relatório em Bitmap.

Desta forma.

01 - labelAluno1
02 - labelAluno2
03 - labelAluno3
04 - labelAluno4
05 - labelAluno5
06 - labelAluno6
.......até 20
20 - labelAluno7

Preciso que cada label receba da tabela de alunos, de acordo com a série e ano letivo selecionadas (Ex: série 1ª ,vai até a 3ª) e ano letivo, 2014, 2014, 2015, 2017, etc, todos em campo Combobox.... Ok...

Fiz uma query assim. (aqui só tem 2 nomes, Na verdade faria 20 Querys ou outro geito melhor, que desconheço.
Note que nas 2 Querys, mando buscar o nome do aluno de acordo com n1, n2, e de acordo com s´peri e ano, selecionáveis nos Combos.

Os labels 1 e 2 estão aparecendo como José (está errado, pois no cadastro, 1 é Jsé e 2 é Maria.)

O que pode estar errado???
Tem como fazer isso numa só query?

Agradeço a ajuda.

abaixo o código das Querys separadamente.



procedure TfrmRelacAlunos.NomesClasse;
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(''Select nome_aluno from JU_CADALUNOS where num_aluno=:n1 and bimestre=:x1 and serie=:x2 and ano_letivo=:x3'');
Query1.ParamByName(''n1'').AsString:=''1''; //Define o Aluno 1 Criar outras Querys para cada aluno (1,2,3,4 etc)
Query1.ParamByName(''x1'').AsString:=ComboBimestre.Text;
Query1.ParamByName(''x2'').AsString:=ComboSerie.Text;
Query1.ParamByName(''x3'').AsString:=ComboAnoLetivo.Text;
lblAluno_01.Caption:=frmprincipal.TableCadAlunos.fieldByName(''nome_aluno'').AsString;
lblAluno_01.Refresh;
Query1.Open;

Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add(''Select nome_aluno from JU_CADALUNOS where num_aluno=:n2 and bimestre=:x1 and serie=:x2 and ano_letivo=:x3'');
Query2.ParamByName(''n2'').AsString:=''2''; //Define o Aluno 2
Query2.ParamByName(''x1'').AsString:=ComboBimestre.Text;
Query2.ParamByName(''x2'').AsString:=ComboSerie.Text;
Query2.ParamByName(''x3'').AsString:=ComboAnoLetivo.Text;
lblAluno_02.Caption:=frmprincipal.TableCadAlunos.fieldByName(''nome_aluno'').AsString;
lblAluno_02.Refresh;
Query2.Open;
end;


Alexandre

Alexandre

Curtidas 0
POSTAR