ajuda com relatório em quick report

Delphi

22/08/2006

pessoal tenho um relatório em quick report ligado a tabela eventos, porem tem um campo desse relatório que está ligado a tabela cidade, pois na tabela evento tenho um campo chamado ´codigo_cidade´, e gostaria de que ao mandar visualizar o relatório o sistema me mostrasse o nome da cidade cujo o código = campo ´codigo_cidade´ corrente da tabela eventos.

nao tenho nem ideia de como fazer esse laço, vou postar aqui o que eu ja fasso... se alguem puder me ajudar...

procedure TPrincipal.PessoasdeumEvento2Click(Sender: TObject);
var
Evento: string;
begin
    Evento:=inputbox(´Evento´,´Evento:´,Uppercase(´´));

    
DM.Tbl_Eventos.Close;
DM.Tbl_Eventos.SelectSQL.Clear;
DM.Tbl_Eventos.SelectSQL.add(´SELECT * FROM Eventos WHERE EVENTO = :Consulta ´);
DM.Tbl_Eventos.Params[0].AsString;
DM.Tbl_Eventos.ParamByName(´Consulta´).AsString:=Uppercase(Evento);
DM.Tbl_Eventos.open;


    if Uppercase(Evento) = DM.Tbl_EventosEVENTO.AsString then
    begin
       // seleciona todas as pessoas cadastradas no evento selecionado no select acima
        DM.Tbl_Eventos_E.Close;
        DM.Tbl_Eventos_E.SelectSQL.Clear;
        DM.Tbl_Eventos_E.SelectSQL.Add(´SELECT * FROM Eventos_Eleitores  where CODIGO_EVENTO = ´´´ + Trim(DM.Tbl_EventosCODIGO.AsString) + ´´´ ORDER BY NOME´);
        DM.Tbl_Eventos_E.Open;

       
       //  aqui eu precisava que ele passasse registro por registro 
       //  na tabela Eventos_e e na tabela Cidade verificando o nome 
       //  da cidade cujo o código = campo  "codigo_cidade" corrente 
       //  da tabela eventos_e. para mostrar no relatório
      


        RelatEventos_E.Label_Evento.Caption  := Uppercase(Evento);
        RelatEventos_E.QuickRep1.Preview;

        UserControl.Log(´USUARIO TIROU UM RELATORIO DE PESSOAS NO EVENTO: ´ + Uppercase(Evento));
    end
        else
            ShowMessage(´Evento não existe. Verifique se você digitou´ +#13+ ´o nome do Evento exatamente como ele está´ +13+ ´cadastrado.´);
end;


nao tenho nem ideia de como fazer isso, alguem se habilita a me ajudar??

abraços!


Mahdak

Mahdak

Curtidas 0

Respostas

Mahdak

Mahdak

22/08/2006

pessoal, com a ajuda do amigo alexandre foi indicado fazer um LEFT JOIN na tabela cidade para pegar o nome da cidade cujo o código for igual ao campo CODIGO_CIDADE da tabela Eventos_E.

bom o que eu fiz foi o seguinte (nao sei se está certo):

DM.Tbl_Eventos_E.Close;
DM.Tbl_Eventos_E.SelectSQL.Clear;
DM.Tbl_Eventos_E.SelectSQL.Add(´SELECT * FROM Eventos_Eleitores E LEFT JOIN CIDADE C ON C.CODIGO = E.CODIGO_CIDADE where CODIGO_EVENTO = ´´´ + Trim(DM.Tbl_EventosCODIGO.AsString) + ´´´ ORDER BY NOME´);
DM.Tbl_Eventos_E.Open;


porem ainda nao deu certo, por que no QRDBText do relatório do quick report que está ligado ao campo código tabela CIDADE aparece em todos os registros o nome da primeira cidade da tabela...

se alguem puder me ajudar fico grato

um forte abraço!


GOSTEI 0
POSTAR