|
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
|
|
|
|
|
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: {SuaTabela.ValorParcela1} {SuaTabela.ValorParcela2} {SuaTabela.ValorParcela3} {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.
|
|
|
|
Postada em 01/07/2006 23:03 hs
Sandro Muito obrigada era isso mesmo que eu estava precisando valeu mesmo. []'s Raiane
|
|
|
|