Ir para conteúdo
Fórum Script Brasil
  • 0

Subreports Com O Crystal Xi


Guest Edmilson

Pergunta

Guest Edmilson

Olá amigos...

Venho tentando isso desde o lançamento do Crystal XI e ninguém me auxilia, nem a ETZ, isto porque meu Crystal é Original - é mole???

Tenho um relatorio no crystal XI

Na sessão Details tenho um subrelatorio com multiplas colunas

Nessa mesma sessão tenho rotulos(texts)

ex:

Rotulo_1 campos do subrelat

Rotulo_2

...

quando tem mais de duas páginas os rotulos não aparecem, preciso que eles se repitam em todas as páginas mas aparecem só na primeiro.

Tentei também em outras seções, mas sem sucesso

Muito obrigado por qualquer ajuda...abraços...

Link para o comentário
Compartilhar em outros sites

18 respostass a esta questão

Posts Recomendados

  • 0
Guest reinterando

Quando coloquei na seção "Page Header" da erro - "The page size was not large enough to format the contents of an object in the report".

É que o subreport tem multimplas com varias páginas.

Alias, se eu conseguisse no Details formatar multiplas colunas desde que conseguisse que as duas primeiras fossem com text´s(rótulos) e tamanho diferente dos campos eu não precisaria de subrelatorio.

Abraços e obrigado pela atenção

Link para o comentário
Compartilhar em outros sites

  • 0
Alias, se eu conseguisse no Details formatar multiplas colunas desde que conseguisse que as duas primeiras fossem com text´s(rótulos) e tamanho diferente dos campos eu não precisaria de subrelatorio.

e porque você não consegue mudar o tamanho do text?

se precisar apague o q vai estar la e ponha um na mao digitando você mesmo o nome do campo.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Edmilson

Voce não me entendeu, mas vou dar outro exemplo.

Preciso de um relatorio multiplas colunas, onde:

Text_1 | Text_2 |Campo|Campo|Campo|Campo|Campo|

Text_3 | Text_4 |Campo|Campo|Campo|Campo|Campo|

...

Montar o relatorio multiplas colunas, sem problema.

Mas a coisa pega quando quero inserir os text´s antes das colunas

Muito obrigado por qualquer ajuda

Link para o comentário
Compartilhar em outros sites

  • 0

ainda não entendi direito o q você quer fazer q é tão dificil.

o q você quer por acaso é por textos diferentes para cada linha, é isso?

se for assim, em vez de usar text, pode fazer um campo formula baseado no campo Record Number, q você encontra entre os Special Fields.

isso se na sua versao esse negocio for igual na minha q é a 8.5.

esse campo Record Number, como o nome diz guarda o numero do registro, ou da linha.

por exemplo, na linha 1 ele vale 1, na linha 2 vale 2 e assim vai.

você sabendo quantas linhas vai ter em cada pagina, e so usar a logica.

se cada pagina tem um numero diferente, entre com o Page Number tb nessa formula.

entendeu mais ou menos? ou não é isso q você quer?

qualquer coisa poste.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Edmilson

De fato você está certo.

Acontece que já coloquei um contador de colunas onde conta até 6 colunas, se tiver mais ele zera e começa de novo na proxima página - até aí sem problemas.

As colunas são de 2 cm.

Preciso de 2 colunas com 3 cm cada- elas servirão para titulos de linha(rotulos)

Não consigo inserir essas duas colunas no inicio, é por isso que estou tentando associar um sub relatorio, mas não esta dando ceto também.

1º titulo de linha... 2ª titulo de linha.......col1.....col2....col3....col.4.....col5....col6....

1º titulo de linha... 2ª titulo de linha

1º titulo de linha... 2ª titulo de linha

...o tatal de colunas serão 2 para titulos(labels) e 6 para os campos do Bb.

obrigado por estar tentando me ajudar....abraços

Link para o comentário
Compartilhar em outros sites

  • 0

cara ta foda de entender...

me explica uma coisa.

esses campos Text tem alguma relação com os campos do banco?

em todas as linhas o texto das labels será o mesmo ou não? se não, da onde você vai tirar esse texto? se sim, porque você não simplesmente coloca o campo nos details para q apareca em todas as linhas?

como assim, você não consegue formatar multiplas colunas? em cada linha elas devem tamanho e/ou caracteristicas diferentes? se não não tem porque não conseguir.

ia falar pra você me mandar o rpt por e-mail pra eu dar uma olhada, mas como não tenho a sua versao do crystal (a minha é 8.5) então nem vai dar.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Edmilson

Vou te dar outro exemplo, não é o meu caso, mas acho que vai entender melhor...

Imagina voce ter em sua frente uma nota fical

Item|Descrição |Campo1|Campo2|......

onde "Item e Descrição" são titulos de linha que vou colocar manualmente(nada tem a ver com o banco.

cada linha tem um nome diferente.

Os campos são registros do banco

Entendeu? Abraços e obrigado pela atenção.

Link para o comentário
Compartilhar em outros sites

  • 0
ainda não entendi direito o q você quer fazer q é tão dificil.

o q você quer por acaso é por textos diferentes para cada linha, é isso?

se for assim, em vez de usar text, pode fazer um campo formula baseado no campo Record Number, q você encontra entre os Special Fields.

isso se na sua versao esse negocio for igual na minha q é a 8.5.

esse campo Record Number, como o nome diz guarda o numero do registro, ou da linha.

por exemplo, na linha 1 ele vale 1, na linha 2 vale 2 e assim vai.

você sabendo quantas linhas vai ter em cada pagina, e so usar a logica.

se cada pagina tem um numero diferente, entre com o Page Number tb nessa formula.

entendeu mais ou menos? ou não é isso q você quer?

qualquer coisa poste.

ainda não deu pra entender tudo, mas o q eu disse nesse post não ajudou?

Link para o comentário
Compartilhar em outros sites

  • 0

ta acho q agora entendi.

não resolveria se você fizesse um outro subreport para aquela coluna da esquerda?

--->>> me responda uma coisa, como você associa o subreport ao registro atual?

outra coisa, você poe o campo numero no page header, o q aconteceria se tivesse mais de um numero na mesma pagina? apareceria so o primeiro?

não resolveria se você fizesse um grupo para o campo numero, e pusesse o subreport ao lado da coluna com as labels no group header? e passasse o numero para o subreport usando a opcao Change Subreport Links?

Link para o comentário
Compartilhar em outros sites

  • 0

--->>>não resolveria se você fizesse um outro subreport para aquela coluna da esquerda?

Já tentei isso mas não funciona

--->>> me responda uma coisa, como você associa o subreport ao registro atual?

Não preciso associar, pois ambos utilizam a mesma consulta

--->>>outra coisa, você poe o campo numero no page header, o q aconteceria se tivesse mais de um numero na mesma pagina? apareceria so o primeiro?

O relatório gerado não trabalha agrupado, ele é filtrado na consulta como disse acima e esta amarrado nesse número.

No exemplo que te passei, eu quase consegui, mas quando tem mais de uma página os Labels desaparecem, já tentei solucionar isso usando a Section Expert "n" vezes diferenciadas, mas nada, quando salta de página os labels não aparecem, só aparecem na 1ª.

Link para o comentário
Compartilhar em outros sites

  • 0

finalmente entendi, cara.

o seu problema é q a coluna da esquerda deveria aparecer em todas as paginas, certo?

isso q é o foda, porque a proxima pagina vai ser a mesma seção (Details) da anterior, por isso não vai repetir.

então... isso q c quer fazer é foda.

e pra dizer a verdade, a não ser q você saiba exatamente a quantidade de linhas q vai ter em cada pagina (e q seja sempre o mesmo), eu diria q é impossivel fazer o q você quer.

o melhor caminho acredito é parecido com o q eu já te disse.

sem usar subreports, faca um campo formula, baseado no RecordNumber, pra alterar o texto.

exemplo (em Basic Syntax):

If RecordNumber = 1 Then
    Formula = "Parâmetros"
ElseIf RecordNumber = 2 Then
    Formula = "Pontos Amostrados"
ElseIf RecordNumber = 3 Then
    Formula = "Horário"
Else
    Formula = ""
End If
[/code] isso funcionaria para a primeira pagina. da segunda em diante fica foda. vc poderia no codigo de cima, substituir o RecordNumber por um outro campo formula, q baseado no campo PageNumber, voltasse para o 1. mas acredito q seja impossivel saber quando trocar de pagina. alias se vc chegar a descobrir ou alguem q estiver lendo souber, poste ae q tb é uma coisa q sempre quis saber. agora, se, por exemplo, em cada pagina aparecessem exatamente 25 registros (linhas), vc faria o campo formula q eu mencionei assim, em Crystal Syntax:
[code](RecordNumber) - ((PageNumber - 1) * 25)
e, se esse campo se chamase "Pagina", a primeira formula ficaria assim:
If {@Pagina} = 1 Then
    Formula = "Parâmetros"
ElseIf {@Pagina} = 2 Then
    Formula = "Pontos Amostrados"
ElseIf {@Pagina} = 3 Then
    Formula = "Horário"
Else
    Formula = ""
End If
[/code]

não sei se isso ajuda, mas veja o q você consegue fazer.

se conseguir resolver poste ae q eu tb gostaria de saber como você fez.

Link para o comentário
Compartilhar em outros sites

  • 0

É preciso utilizar subreports, pois necessito que os dados dos campos sejam em multiplas colunas.

Não seria necessário subreports se o Crystal desse condição de afastamento da coluna da esquerda para a direita, isto é, precisaria de espaço a direita para colocar os Labels e na sequencia as colunas dos campos, entendeu. Então penso que o subreports seja necessário.

Os labels das linhas poderão ser de comprimento fixo, pelo menos por enquanto até resolvermos essa parada.

Suponho que terei 30 linhas no máximo, porém o número de colunas é desconhecido, o que poderá gerar várias páginas. Se tiver que colocar uma condição na mudança de cada página estou fú.

A propósito, os Labels sempre serão os mesmos nas mudanças de página.

Estou tentando por aqui, se tiver + idéias me avise; faremos junto essa porcaria, quem achar a solução que passe pro outro então, certo???

Abração amigo....

Link para o comentário
Compartilhar em outros sites

  • 0

Conseguimooooooooooossssssssssssssssssss...........

Então vamos lá...

Crie um Relatório com multiplas colunas

Em um outro - este será o relatório Principal. Insira nele o relatorio criado anteriormente.

Coloca ess SubReport´s na Sessão Details.

Formate essa seção..na guia common: marque as caixas:

Free..

Keep...

Underlay...

Na sessão Page Reader coloque os labels em uma ou duas colunas e utilize quantas linhas quizer

Formate ela marcando as caixas:

Free...

Underlay...

Quando voce marca as caixas Underlay... voce junta as duas seções.

Então configure o layoult da forma que quizer, ou seja, os labels e o subreports.

Exemplo:

(Na Page Reader) |ColunaDosLabels|

(Na Seção Details) SubReports|

(Visualizando...Prevew) ColunaDosLabels|SubReports|

ESPERO TER CONTRIBUÍDO A ALTURA DESSE CONCEITUADO FÓRUM.

Coloquem isso em Dicas, pois a mais de um ano que procuro por essa solução e acabei descobrindo hoje, casoalmente....... Penso que muitos poucos sabem disso e eles não repassam - o que é uma pena.

Penei mas valeu galera..

Abraços a todos - A propósito.... veja se me ajudem no post "REDE REMOTA"

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...