Fórum Report #194706

13/11/2003

0

Algém saberia me dizer como faço para em um quick report fazer o seguinte:
Tenho em uma tabela um campo que só pode assumir os valores SIM ou NÃO. Tenho lá no report um QRLabel e um QRText para esse campo, quero que no report toda vez que esse campo tiver o valor SIM ao invés de exibir o seu valor (ou seja, a palavra sim) no QRText escrever a palavra MONITORIA.
Como????


Barbara.michele

Barbara.michele

Responder

Posts

13/11/2003

Delphistar

coloque um QRExpr, e na propriedade Expression o seguinte codigo:

IF(<campo> = ´SIM´, ´MONITORIA´, ´NÃO´)

e não esqueça a propriedade Master, ok?


Responder

Gostei + 0

13/11/2003

Barbara.michele

Isso funciona também para se eu quiser em um report exibir o seguinte:
Tenho 3 tabelas:
funcionarios (cod(PK), nome, funcao) (a funcao pode assumir os valores coordenadora ou estagiario)
coordenadora (cod(FK), CPF,...)
estagiario (Cod(FK), matricula, curso,...)
No report tenho os QRLabels e QRTexts para exibir os dados do funcionario e quero que se a funcao for = Coordenadora ele exiba os dados do funcionario e somente os dados da coordenadora (CPF, ...) e assim aconteça também para o estagiário.
Com essa solução também consigo fazer isso?


Responder

Gostei + 0

13/11/2003

Delphistar

ate da..., mas para isso vc precisaria juntar os dados das 3 tabelas numa unica query, e todos os campos seriam exibidos com QREXpr...

eh mais facil colocar 2 QRSubDetails, um para coordenadores e outro para estagiarios, assim sera listado todos os coordenadores e depois os todos estagiarios...

ou ainda, se os campos das 2 tabelas forem os mesmos eh possivel junta-los numa query atraves o UNION...


Responder

Gostei + 0

14/11/2003

Barbara.michele

Tentei fazer mas não consegui, é a primeira vez que estou usando o quick report, poderia me explicar como devo fazer para usar do jeito que falou com o QRSubDetail?

Obrigada


Responder

Gostei + 0

14/11/2003

Delphistar

eh simples vc coloca 2 componentes QRSubDetail...,
1 vc liga (propriedade Dataset) na tabela ou query ´Coordenadores´, assim como os QRDBTexts q estarão nele, com o 2o eh a mesma coisa soh q para os ´Estagiarios´...

e vc pode deixar cada um com um cabecalho diferente, basta colocar 2 QRBands com a propriedade BandType = rbGroupHeader, e liga-los atraves da propriedade HeaderBand dos QRSubDetails...

qualquer duvida eh soh postar, um abraço


Responder

Gostei + 0

14/11/2003

Barbara.michele

Mas ainda não consegui entender como vou fazer a ligação:
Funcionario com Estagiario por exemplo, quero que saia
Codigo, Nome, Funcao (estão na tabela funcionario) e Matricula, Periodo e Curso (estão na tabela estagiario). Tenho uma query no report ligada a funcionario, como fazer a ligação para as outras de coordenadora e estagiario? Como seria essa query???

Valeu


Responder

Gostei + 0

14/11/2003

Delphistar

usando 2 QRSubDetails, vc vai precisar de 2 queries:

SELECT F.*, C.*
FROM FUNCIONARIOS F
INNER JOIN COORDENADORA C ON (C.COD = F.COD)

a outra eh praticamente igual:

SELECT F.*, E.*
FROM FUNCIONARIOS F
INNER JOIN ESTAGIARIOS E ON (E.COD = F.COD)


Responder

Gostei + 0

17/11/2003

Barbara.michele

Tenho um relatório que exibe empresas cadastradas no mês.
Na query faço o seguinte:
select DATA_CADASTRO, NOME, CNPJ
from EMPRESAS
where EXTRACT (MONTH FROM DATA_CADASTRO)=¬S AND EXTRACT (YEAR FROM DATA_CADASTRO)=¬S. O usuário escolhe o mês e o ano por um DateTimePicker e uso a função DecodeDate para pegar o mês e o ano.
Quero que o mês dessa data exibido por extenso no meu relatório.
Como faço isso???


Responder

Gostei + 0

17/11/2003

Delphistar

o QRDBText tem a propriedade MASK, nela vc coloca a mascara tanto para datas qnt para numeros...
nao sei como vc quer a formatacao, entao eis alguns exemplos:

mmmm/yyyy = novembro/2003
dd/mmm/yyyy = 17/nov/2003
dd/mmmm/yyyy = 17/novembro/2003
dd ´de´ mmmm ´de´ yyyy = 17 de novembro de 2003

caso tenha duvidas, eh soh perguntar...

PS: conseguiu fazer o relatorio de funcionarios?


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar