VISUAL REPORT X

WBUZZO 09/01/2017 19:07:33
#470525
Amigos estou tentando gerar um relatório conforme figura anexa, mas, não sei como carregar dados de diversas tabelas, alguem tem domínio sobre a ferramenta Visual Report X?
CLEVERTON 09/01/2017 22:20:19
#470537
Olha, tem um projeto chamado [Ô]Relatório Multiplo[Ô] nos exemplos do VRX, é exatamente isso que vc quer.

Private Sub Relatorio_IniciarGrupo(ByVal Ordem As Byte)

[ô] Ao iniciar o grupo principal define os recordset secundarios
If Ordem = 1 Then
[ô] Abre todos os RS cada um para cada conjunto de dados
[ô] Na mesma ordem que estao os indices de DetTmp.
[ô] Se quiser pode usar os registros do grupo principal para filtrar
[ô] os dados dos recordsets secundários. Basta usar a referencia
[ô] Relatorio.Recordset
rds.OpenSec 0, [Ô]SELECT * FROM Estados ORDER BY Estado[Ô]
rds.OpenSec 1, [Ô]SELECT * FROM IRRF ORDER BY Teto DESC[Ô]
rds.OpenSec 2, [Ô]SELECT * FROM INSS ORDER BY Faixa DESC[Ô]
[ô] Chama rotina que irá posicionar o grupo atual de acordo com
[ô] o recordset que tiver registros
rds.PosicionaRSAtual
ElseIf Ordem = 2 Then
[ô] Cada vez que um novo grupo secundario iniciar, ativa os controles
[ô] de acordo desse grupo
AtivaControles rds.RSAtual
End If

End Sub
KERPLUNK 09/01/2017 23:19:48
#470542
Porque você não faz uma consulta que use todas os campos de todas as tabelas? Ficaria muito mais simples
WBUZZO 10/01/2017 15:41:50
#470575
Citação:

:
Olha, tem um projeto chamado [Ô]Relatório Multiplo[Ô] nos exemplos do VRX, é exatamente isso que vc quer.

Private Sub Relatorio_IniciarGrupo(ByVal Ordem As Byte)

[ô] Ao iniciar o grupo principal define os recordset secundarios
If Ordem = 1 Then
[ô] Abre todos os RS cada um para cada conjunto de dados
[ô] Na mesma ordem que estao os indices de DetTmp.
[ô] Se quiser pode usar os registros do grupo principal para filtrar
[ô] os dados dos recordsets secundários. Basta usar a referencia
[ô] Relatorio.Recordset
rds.OpenSec 0, [Ô]SELECT * FROM Estados ORDER BY Estado[Ô]
rds.OpenSec 1, [Ô]SELECT * FROM IRRF ORDER BY Teto DESC[Ô]
rds.OpenSec 2, [Ô]SELECT * FROM INSS ORDER BY Faixa DESC[Ô]
[ô] Chama rotina que irá posicionar o grupo atual de acordo com
[ô] o recordset que tiver registros
rds.PosicionaRSAtual
ElseIf Ordem = 2 Then
[ô] Cada vez que um novo grupo secundario iniciar, ativa os controles
[ô] de acordo desse grupo
AtivaControles rds.RSAtual
End If

End Sub


Primeiramente muito obrigado pela ajuda, mas, o problema é que por não ter conhecimento sobre esse controle não consigo implementar a idéia.
Eu vi esse exemplo tentei implementa-lo, mas não consegui, aparentemente é simples porém não consegui.
WBUZZO 10/01/2017 15:43:09
#470576
Citação:

:
Porque você não faz uma consulta que use todas os campos de todas as tabelas? Ficaria muito mais simples


Muito obrigado pela sugestão, mas, poderia me dar exemplo da sua idéia?
CLEVERTON 11/01/2017 00:23:32
#470593
pegue o exemplo, mude os selects e o nome dos campos dentro do reportx
Faça seu login para responder