Marcio_Garca Posted April 9, 2009 Report Share Posted April 9, 2009 alguém já viu essa mensagem no crystal?The formula is too complex. Try simplifying it.Estou gerando um rlt que tem um subreport na Report Footer.É passado um parameter field para esse subreport com mais ou menos 3 mil registros....daí ele gera o relatorio, mas dá o erro acima... alguém pode me ajudar, por favor?? Quote Link to comment Share on other sites More sharing options...
0 Jhonas Posted April 9, 2009 Report Share Posted April 9, 2009 The formula is too complex. Try simplifying it.A formula esta muito complexa. Tente simplifica-laReveja a passagem do parametroabraço Quote Link to comment Share on other sites More sharing options...
0 Marcio_Garca Posted April 9, 2009 Author Report Share Posted April 9, 2009 The formula is too complex. Try simplifying it.A formula esta muito complexa. Tente simplifica-laReveja a passagem do parametroabraçoEntão, eu passo 3 mil códigos um a um no parameter field.... foram códigos selecionados pelo usuário na tela.... parameter field tem limite?Antes eu usava selectionFormula, mas como estourava o limite passei a usar parameter field. Mas agora dá essa mensagem. Quote Link to comment Share on other sites More sharing options...
0 kuroi Posted April 9, 2009 Report Share Posted April 9, 2009 mas ele aponta qual formula q é??seria um campo formula ou é a formula da selecao??posta ai qual o codigo da formula pra gente ver.e ai não entendi essa parte de 3000 registros no parameter field. você diz q passa os 3000 pro usuario escolher um deles, é isso?? Quote Link to comment Share on other sites More sharing options...
0 Marcio_Garca Posted April 13, 2009 Author Report Share Posted April 13, 2009 Conforme o código abaixo, o ParameterField de um subreport está sendo alimentado um a um... o array informado, nesse caso, possui mais de 3 mil registros.... ao processar o relatorio aparece a mensagem citada acima.... se suprimir o subreport o erro não ocorre.... e se a qtde de registros for menor o erro tb não ocorre.... mas eu preciso exibir esses registros. Tentei tirar o ParameterField do subreport, dai ele exibe todos os registros da tabela normalmente, só que fica sem o filtro né, então acho que o problema seja o ParameterField. For Each oParameterFieldDefinition In oReport.OpenSubreport("SubUP").ParameterFields Select Case oParameterFieldDefinition.ParameterFieldName Case "peCdCelula" For lngArray = 0 To UBound(avUP, 2) oParameterFieldDefinition.AddCurrentValue avUP(0, lngArray) Next End SelectNext Quote Link to comment Share on other sites More sharing options...
0 Jhonas Posted April 13, 2009 Report Share Posted April 13, 2009 o ParameterField de um subreport está sendo alimentado um a um... o array informado, nesse caso, possui mais de 3 mil registros.... ao processar o relatorio aparece a mensagem citada acima.... se suprimir o subreport o erro não ocorre.... e se a qtde de registros for menor o erro tb não ocorre.... mas eu preciso exibir esses registros. For Each oParameterFieldDefinition In oReport.OpenSubreport("SubUP").ParameterFieldsSelect Case oParameterFieldDefinition.ParameterFieldNameCase "peCdCelula"For lngArray = 0 To UBound(avUP, 2)oParameterFieldDefinition.AddCurrentValue avUP(0, lngArray)NextEnd SelectNextse a qtde de registros for menor o erro tb não ocorre ... então voce pode perceber o motivo do erro:The formula is too complex. Try simplifying it.A formula esta muito complexa. Tente simplifica-laO modo como é passado o parametro é que tem quer ser modificadoveja nestes endereços:http://www.willydev.net/InsiteCreation/v1....oparametros.pdfhttp://www.dynalivery.com/products/paralle...Definition.htmlhttp://devlibrary.businessobjects.com/busi...nclasstopic.htmhttp://74.125.47.132/search?q=cache:cPnQnx...=clnk&gl=brhttp://bytes.com/groups/net-c/262325-date-...fielddefinitionabraço Quote Link to comment Share on other sites More sharing options...
0 kuroi Posted April 13, 2009 Report Share Posted April 13, 2009 marcio, se o selection formula não tava aceitando e os parametros tb não, não sei se tem jeito.o filtro q você quer fazer é muito complexo, mesmo.uma otra alternativa seria você passar os dados a partir do recordset, como explicado nesse tópico: http://scriptbrasil.com.br/forum/index.php...mp;#entry477615agora, não duvido q ocorra erro tb na hora de fazer o where no select.3000 ORs é mta coisa mesmo. você podia usar o IN (Where Campo In ('valor1', 'valor2', ..., 'valor3000')), entretanto tb não duvido q va dar erro.acho q você devia rever uma forma pra simplificar esse filtro. Quote Link to comment Share on other sites More sharing options...
0 Marcio_Garca Posted April 13, 2009 Author Report Share Posted April 13, 2009 o ParameterField de um subreport está sendo alimentado um a um... o array informado, nesse caso, possui mais de 3 mil registros.... ao processar o relatorio aparece a mensagem citada acima.... se suprimir o subreport o erro não ocorre.... e se a qtde de registros for menor o erro tb não ocorre.... mas eu preciso exibir esses registros. For Each oParameterFieldDefinition In oReport.OpenSubreport("SubUP").ParameterFieldsSelect Case oParameterFieldDefinition.ParameterFieldNameCase "peCdCelula"For lngArray = 0 To UBound(avUP, 2)oParameterFieldDefinition.AddCurrentValue avUP(0, lngArray)NextEnd SelectNextse a qtde de registros for menor o erro tb não ocorre ... então voce pode perceber o motivo do erro:The formula is too complex. Try simplifying it.A formula esta muito complexa. Tente simplifica-laO modo como é passado o parametro é que tem quer ser modificadoveja nestes endereços:http://www.willydev.net/InsiteCreation/v1....oparametros.pdfhttp://www.dynalivery.com/products/paralle...Definition.htmlhttp://devlibrary.businessobjects.com/busi...nclasstopic.htmhttp://74.125.47.132/search?q=cache:cPnQnx...=clnk&gl=brhttp://bytes.com/groups/net-c/262325-date-...fielddefinitionabraçoDesculpe, mas não entendi. Estou lendo o documento do primeiro link enviado, mas não entendo como devo modificar a forma com que passo os valores. Quote Link to comment Share on other sites More sharing options...
0 Jhonas Posted April 13, 2009 Report Share Posted April 13, 2009 o ParameterField de um subreport está sendo alimentado um a um... o array informado, nesse caso, possui mais de 3 mil registrosporque fazer esta alimentação um a um ? porque não aplica um Range ? qual é o valor corrente passado ?quando diz que: A formula esta muito complexa. Tente simplifica-la.... voce deve tirar do subreport essa passagem de um a um, porque o número de interações extrapola.For Each oParameterFieldDefinition In oReport.OpenSubreport("SubUP").ParameterFields Select Case oParameterFieldDefinition.ParameterFieldName Case "peCdCelula" For lngArray = 0 To UBound(avUP, 2) oParameterFieldDefinition.AddCurrentValue avUP(0, lngArray) Next End Select Nextao executar For lngArray = 0 To UBound(avUP, 2)oParameterFieldDefinition.AddCurrentValue avUP(0, lngArray)voce esta adicionando no parametro de definição do campo todos os valores do array ... isso para cada interação do < For Each > pense numa maneira de agrupá-losabraço Quote Link to comment Share on other sites More sharing options...
Question
Marcio_Garca
alguém já viu essa mensagem no crystal?
The formula is too complex. Try simplifying it.
Estou gerando um rlt que tem um subreport na Report Footer.
É passado um parameter field para esse subreport com mais ou menos 3 mil registros....daí ele gera o relatorio, mas dá o erro acima... alguém pode me ajudar, por favor??
Link to comment
Share on other sites
8 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.