none
CrystalReport - Filtro com dados do Formulários RRS feed

  • Pergunta

  • Caros, boa noite.

    Tenho um relatório que trás a relação de alunos e um formulário que tem um campo IDMensalidade que deverá ser o filtro do relatório quando o chamo neste mesmo formulário. Como posso colocar o campo IDmensalidade.text como parâmetro ao clicar no botão recibo do meu formulário?

    Grato!!!

    segunda-feira, 28 de fevereiro de 2011 03:07

Respostas

  • Olá!

    Não sei se ainda está precisando, mas vamos lá...

    Você pode fazer de duas maneiras, basicamente: a primeira seria passando um valor para um campo do tipo "parameter" no RPT e a segunda seria passando o "filtro" desejado diretamente para o "recordselectionformula" do RPT.

    Primeira Opção:

    1. Crie um campo do tipo parameter no seu RPT. Ex.: pIdMensalidade do mesmo tipo do campo que vc deseja filtrar
    2. No "select expert" do crystal (ou no formula editor, preferncialmente), insira: {tabela.idmensalidade} = {?pIdMensalidade} e salve seu RPT
    3. No seu código, logo após carregar o RPT insira o comando que passa o parâmetro para o RPT. No VB2010 é o seguinte:

     

    Dim crParameterDiscreteValue As ParameterDiscreteValue
    Dim crParameterFieldDefinitions As ParameterFieldDefinitions
    Dim crParameterFieldLocation As ParameterFieldDefinition
    Dim crParameterValues As ParameterValues
    crParameterFieldDefinitions = CR.DataDefinition.ParameterFields
    crParameterFieldLocation = crParameterFieldDefinitions.Item("pIdMensalidade")
    crParameterValues = crParameterFieldLocation.CurrentValues
    crParameterDiscreteValue = New CrystalDecisions.Shared.ParameterDiscreteValue
    crParameterDiscreteValue.Value = IDmensalidade.text
    crParameterValues.Add(crParameterDiscreteValue)
    crParameterFieldLocation.ApplyCurrentValues(crParameterValues)
    

    Dica: se vc usar muito passar parâmetros para o crystal, crie uma função para fazer isso.

    A outra opção seria:

    1. No seu código, logo após carregar o RPT insira o comando que passa para a fórmula de seleção de registros para o RPT. No VB2010 é o seguinte:
    2. ReportDocument.RecordSelectionFormula = "{tabela.idmensalidade} = " & IDmensalidade.txt & ""

    Espero ter ajudado.

    Abraço.


    Willian Cardoso Santana
    • Sugerido como Resposta AndreAlvesLimaModerator quinta-feira, 14 de abril de 2011 09:34
    • Marcado como Resposta Jkjhon quinta-feira, 14 de abril de 2011 21:46
    quinta-feira, 14 de abril de 2011 02:09