Marcio_Garca Postado Abril 9, 2009 Denunciar Share Postado Abril 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?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Abril 9, 2009 Denunciar Share Postado Abril 9, 2009 The formula is too complex. Try simplifying it.A formula esta muito complexa. Tente simplifica-laReveja a passagem do parametroabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcio_Garca Postado Abril 9, 2009 Autor Denunciar Share Postado Abril 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Abril 9, 2009 Denunciar Share Postado Abril 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?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcio_Garca Postado Abril 13, 2009 Autor Denunciar Share Postado Abril 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Abril 13, 2009 Denunciar Share Postado Abril 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Abril 13, 2009 Denunciar Share Postado Abril 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcio_Garca Postado Abril 13, 2009 Autor Denunciar Share Postado Abril 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Abril 13, 2009 Denunciar Share Postado Abril 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
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 para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.