Base Trava ao Gerar Relatórios

Olá Pessoal !

Estou com problemas ao gerar relatórios no Base. As consultas funcionam corretamente.

O banco que criei funciona em algumas máquinas e os relatórios são gerados, mas em outras não funciona.

Reinstalei as versões do java para ver se tinha alguma relação, mas continua sem rodar os reports.

Baixei a extensão do Report Builder, mas também não adiantou. Na mesma máquina, se utilizar o OpenOffice funciona sem problemas.

Minha máquina roda Windows 7 SP1 - 64 Bits e a versão do Java é a 1.8.0.45.

Agradeço qualquer ajuda.

Olá,

Verifique a quantidade de memória ram disponível no sistema. Se as consultas forem complexas e a memória escassa, o report builder pode travar no momento de gerar o relatório.

Pode ainda haver algum problema com perfil do usuário. Quando ele está corrompido o LibreOffice comporta-se de maneira estranha: Veja como “resetar” o perfil de usuário.

Atte,

Grafeno.

Além do que o Grafeno sugeriu, quando aconteceu isso comigo, percebi que eu abria o relatório pré-definido diretamente clicando num botão assim que abria a aplicação, e como não clicava em forms ou consultas antes, o relatório ficava “ad-eternum” e acabava que eu tinha que fechar o BD e corrompia, etc só abrir certo o relatório quando anets executava a consulta, ou abrir a tabela como uma forma de “forçar” a conexão com os dados, então tive que por macro forçar a execução da consulta antes de abrir o relatório.

Sub GerarRelatoriodeConsulta
Dim oDocBD As Object, oCtrlador as Object, oFonteDados As Object
Dim oConsulta As Object, oRelatorios as Object
Dim sSQL As String

    oDocBD = ThisDataBaseDocument

    ' Garantir que controlador estará conectado
    oCtrlador = oDocBD.CurrentController
    If Not oCtrlador.isConnected then oCtrlador.Connect

    ' Instrução sql modificada para a consulta
    sSQL = "INSIRA_SUA_INSTRUÇÃO_SQL_AQUI"

    ' Rodar a Consulta modificada
    oFonteDados = oDocBD.DataSource
    oConsulta = oFonteDados.QueryDefinitions.getByName( "NOME_DA_CONSULTA" )
    oConsulta.Command = sSQL

    ' Abrir o Relatório
    oRelatorios = oDocBD.ReportDocuments
    oRelatorios.getByName("NOME_DO_RELATÓRIO").Open 
End Sub

Prezados Grafeno e Luiz Carlos, bom dia !
Antes de tudo, agradeço a ajuda e as orientações fornecidas. Implementei as sugestões apresentadas, mas, nos dois casos, o BD continua travando ao gerar os relatórios. Até para relatórios baseados em consultas simples, com apenas uma entrada na tabela, o BD trava e não é apresentada qualquer mensagem. Lembro que no OpenOffice funciona normalmente. Mais uma vez obrigado, Alberto Magno

Sei que o LibreOffice ainda tem muito bug, é dose pra leão, tente ver se o problema não é com o seu pc / sistema operacional, use o Virtualbox, instale um Windows, o LibreOffice e rode a aplicação como se fosse em uma máquina nova recém formatada, e nos diga o comportamento da sua aplicação nesse ambiente…tente usar a versão mais recente do LibreOffice e do Java

Olá Luiz, obrigado pela orientação. Vou instalar a maquina virtual e tentar. realmente é na máquina, pois em outros equipamentos roda normal. Não sei se tem a ver com o java 64 bits. O interessante é que com o OpenOffice roda normal na mesma máquina. Poderia utilizar o Open, mas uma macro de lista em cascata que o Grafeno postou aqui já não funciona no Open. Cada um com um bug diferente. Abraços e obrigado a todos.