Fórum Comando SQL não encerrado adequadamente - Delphi #530665
03/09/2015
0
Segue o meu código.
procedure TfrmSelRelat_Documentos_Pendentes.btnListarClick(Sender: TObject);
begin
with qryGrid do
begin
Close;
SQL.clear;
Sql.Add(' SELECT R.COD_MATRICULA, A.NOME_ALUNO, M.HISTORICO, M.CERTIFICADO_CON,M.TITULO_ELE,M.DOC_IDENTIDADE,M.CPF,M.CERTIDAO_NAS,M.CERTIDAO_CAS,M.OBRIGACAO_ELEITORAL,M.CARTAO_VACINA, M.FOTO_3X4,M.SERVICO_MILITAR ' +
'FROM ALUNOS A, MATRICULAS M, REMATRICULAS_T R' +
'WHERE A.COD_ALUNO = M.COD_ALUNO ' +
' AND M.COD_MATRICULA = R.COD_MATRICULA ' +
' AND R.SIT_REMATRICULA = 1 ' +
' AND R.ANO_LET = 2015 ' +
' AND R.PERIODO_LET = 2 ' +
' AND R.PAGAMENTOS = 1 ' +
' AND R.DOCUMENTOS = 0 ' +
' ORDER BY R.COD_MATRICULA') ;
if chkAno_Let.checked or chkPeriodo_Let.checked or chkPeriodo.checked or chksit_Rematricula.checked then
begin
Sql.Add (' AND M.COD_MATRICULA IN ( SELECT COD_MATRICULA FROM REMATRICULAS WHERE ');
if chkAno_Let.checked then
Sql.Add (' AND ANO_LET = '+ edtAno_Let.Text);
if chkPeriodo_Let.checked then
begin
Sql.Add (' AND PERIODO_LET = '+ edtPeriodo_Let.Text);
end;
if chkPeriodo.checked then
begin
Sql.Add(' AND PERIODO = '+ edtPeriodo.Text);
end;
Sql.Add (' AND ');
if chkSit_Rematricula.Checked then
begin
if lkbSit_Rematricula.ItemIndex = (lkbSit_Rematricula.Items.Count - 3) then
begin
Sql.Add (' AND Sit_Rematricula IN (' + SIT_REMATRICULA_ATIVAS + ')');
end
else if lkbSit_Rematricula.ItemIndex = (lkbSit_Rematricula.Items.Count - 2) then
begin
Sql.Add (' AND Sit_Rematricula IN (' + SIT_REMATRICULA_NAO_ATIVAS + ')');
end
else if lkbSit_Rematricula.ItemIndex = (lkbSit_Rematricula.Items.Count - 1) then
begin
Sql.Add(' AND Sit_Rematricula IN (' + SIT_REMATRICULA_APROVADOS + ')');
end
else
begin
Sql.Add (' AND Sit_Rematricula = ' + IntToStr (lkbSit_Rematricula.ItemIndex));
end;
end;
begin
Sql.Add (' AND Sit_Rematricula IN (' + SIT_REMATRICULA_ATIVAS + ')');
end;
Sql.Add ('ORDER BY R.COD_MATRICULA');
Open;
end;
end;
end;
procedure TfrmSelRelat_Documentos_Pendentes.btnListarClick(Sender: TObject);
begin
with qryGrid do
begin
Close;
SQL.clear;
Sql.Add(' SELECT R.COD_MATRICULA, A.NOME_ALUNO, M.HISTORICO, M.CERTIFICADO_CON,M.TITULO_ELE,M.DOC_IDENTIDADE,M.CPF,M.CERTIDAO_NAS,M.CERTIDAO_CAS,M.OBRIGACAO_ELEITORAL,M.CARTAO_VACINA, M.FOTO_3X4,M.SERVICO_MILITAR ' +
'FROM ALUNOS A, MATRICULAS M, REMATRICULAS_T R' +
'WHERE A.COD_ALUNO = M.COD_ALUNO ' +
' AND M.COD_MATRICULA = R.COD_MATRICULA ' +
' AND R.SIT_REMATRICULA = 1 ' +
' AND R.ANO_LET = 2015 ' +
' AND R.PERIODO_LET = 2 ' +
' AND R.PAGAMENTOS = 1 ' +
' AND R.DOCUMENTOS = 0 ' +
' ORDER BY R.COD_MATRICULA') ;
if chkAno_Let.checked or chkPeriodo_Let.checked or chkPeriodo.checked or chksit_Rematricula.checked then
begin
Sql.Add (' AND M.COD_MATRICULA IN ( SELECT COD_MATRICULA FROM REMATRICULAS WHERE ');
if chkAno_Let.checked then
Sql.Add (' AND ANO_LET = '+ edtAno_Let.Text);
if chkPeriodo_Let.checked then
begin
Sql.Add (' AND PERIODO_LET = '+ edtPeriodo_Let.Text);
end;
if chkPeriodo.checked then
begin
Sql.Add(' AND PERIODO = '+ edtPeriodo.Text);
end;
Sql.Add (' AND ');
if chkSit_Rematricula.Checked then
begin
if lkbSit_Rematricula.ItemIndex = (lkbSit_Rematricula.Items.Count - 3) then
begin
Sql.Add (' AND Sit_Rematricula IN (' + SIT_REMATRICULA_ATIVAS + ')');
end
else if lkbSit_Rematricula.ItemIndex = (lkbSit_Rematricula.Items.Count - 2) then
begin
Sql.Add (' AND Sit_Rematricula IN (' + SIT_REMATRICULA_NAO_ATIVAS + ')');
end
else if lkbSit_Rematricula.ItemIndex = (lkbSit_Rematricula.Items.Count - 1) then
begin
Sql.Add(' AND Sit_Rematricula IN (' + SIT_REMATRICULA_APROVADOS + ')');
end
else
begin
Sql.Add (' AND Sit_Rematricula = ' + IntToStr (lkbSit_Rematricula.ItemIndex));
end;
end;
begin
Sql.Add (' AND Sit_Rematricula IN (' + SIT_REMATRICULA_ATIVAS + ')');
end;
Sql.Add ('ORDER BY R.COD_MATRICULA');
Open;
end;
end;
end;
União Amado
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)