Fórum SqL para preenchimento de labels em form (report) #467040
15/01/2014
0
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;
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
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)