USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  formulas em crystal reporter
RAIANE
SUZANO
PS - BRASIL
Postada em 30/06/2006 21:12 hs            
Boa noite amigos,
Estou criando um relatório em crystal reporter, preciso imprimir neste relatório os seguintes campos:
No cabeçalho o nome do vendedor e Código
Abaixo o Numero do contrato, o nome do cliente, o valor da parcela, a data de pagamento.
Só tem um problema: eu não tenho apenas um campo valor da parcela, eu tenho parcela1, parcela2...... até parcela4, a mesma coisa acontece com a data de pagamento, eu tenho datapag1, datapag2 .... até datapag4 e a mesma coisa para o vencimento.
Neste relatório eu preciso criar uma fórmula para que busque qualquer uma das parcelas de um até quatro, ou seja vou criar um formulário em vb que o usuário digita o código do vendedor, o nome do vendedor e o numero da parcela, se digitar o numero 1 por exemplo, ele deve imprimir o contrato do cliente, o nome do cliente, o valor da parcela1 a data de vencimento1 e a data de pagamento1, se o usuário digitar 2 no campo numero da parcela ele deve imprimir o valor da parcela2 a data de vencimento2 e a data de pagamento2, sei que para fazer isso terei que criar uma fórmula no Crystal, mas eu ainda estou engatinhando nele ja pesquisei muinto na Internet, e o que encontrei foi muinto básico infelizmente não atende a minha necessidade. se alguém puder me ajudar agradeço muinto.
 
Um abraço a todos
Raiane
     
Sandro
não registrado
Postada em 01/07/2006 09:07 hs   
Olá Raiane,
 
É um pouquinho trabalhoso, mas dá para fazer.
Em primeiro lugar, você precisará de 3 fórmulas, uma para o valor da parcela, uma para a data de vencimento e outra para a data de pagamento. Você utilizará essas fórmulas no seu relatório, ao invés dos campos respectivos. Depois, você deverá criar uma quarta fórmula que será uma espécie de interface entre o VB e o Crystal. Essas fórmula irá receber o número da parcela que você deseja imprimir e controlará as outras três fórmulas para que exibam os campos adequados. Vamos lá, crie uma nova fórmula no Crystal e dê o nome de Parcela (para criar uma fórmula, clique no menu Insert e selecione Field Object; na tela Field Explorer, clique no item Formula Fields com o botão direito do mouse e selecione New). Quando o Crystal abrir o editor de fórmulas, digite apenas "1" (com as aspas). Depois salve a fórmula. Essa será a fórmula de controle.
Agora vamos criar uma fórmula para exibir o valor da parcela. Proceda da mesma forma e dê o nome da fórmula de ValorParcela. No editor de fórmulas digite o seguinte:
 
If {@Parcela} = "1" Then
    {SuaTabela.ValorParcela1}
Else If {@Parcela} = "2" Then
    {SuaTabela.ValorParcela2}
Else If {@Parcela} = "3" Then
    {SuaTabela.ValorParcela3}
Else If {@Parcela} = "4" Then
    {SuaTabela.ValorParcela4};   //<-- Não esqueça do ponto-e-vírgula no final!
 
Troque o nome SuaTabela pelo nove real da tabela do seu banco de dados e o nome ValorParcela pelo nome real dos campos de valor de cada parcela. Pronto, salve a fórmula. Essa será a fórmula que exibirá o valor da parcela. Agora, repita tudo isso para as outras duas fórmulas, dando o nome de DataVencimento e DataPagamento respectivamente para cada fórmula, e é claro, substituindo os nomes dos campos pelos campos corretos.
Neste momento você terá uma relatório com os campos da sua tabela e 4 fórmulas, sendo que apenas 3 deverão ser exibidos (valorParcela, DataVencimento e DataPagamento) e 1 que será oculta, embora deva ser posta no seu relatório (em qualquer lugar, mas eu recomendo no cabeçalho). Pois bem, monte o relatório com o layout que desejar, lembrando que os campos reais de valor e data não devem ser usados apenas as suas fórmulas que acabamos de criar. Depois coloque a fórmula parcela no relatório. Clique sobre ela com o botão direito do mouse e selecione a opção Supress. Isso fará com que a fórmula não seja exibida.
Bom, depois, no VB, antes da impressão, você deverá fazer assim:
 
CrystalReport1.Formulas(1) = "Parcela = '2' "
 
Isso enviará para o relatório a informação de que a parcela desejada é a 2 e não a 1 ou outra qualquer. É claro que você deverá adaptar o código acima para o seu programa, por exemplo, conter o número da parcela em uma variável, ou no índice  de uma combobox ou ainda pegar direto de uma caixa de texto, mas o segredo para esse tipo de situação é esse, usar uma fórmula oculta e outras fórmulas para exibirem os dados desejados conforme o especificado na fórmula oculta.
 
Um abraço,
Sandro.
     
RAIANE
SUZANO
PS - BRASIL
Postada em 01/07/2006 23:03 hs            
Sandro Muito obrigada
era isso mesmo que eu estava precisando
valeu mesmo.
[]'s
Raiane
 
 
     
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página