Pergunte aqui
0

abrir formulário automaticamente no Base

perguntadas 2013-04-02 23:19:03 +0200

imagem do gravatar de carloskh

updated 2013-04-02 23:24:43 +0200

é possível abrir um formulário logo que se abre o arquivo do base... eu fazia isto com um assistente no access com um form que chamava os outros forms como um menu. agora gostaria de fazer o mesmo com o Libre.

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

3 Respostas

0

respondidas 2013-09-04 17:35:11 +0200

imagem do gravatar de Beto

updated 2013-09-04 17:37:23 +0200

Não tem. Mas existe uma maneira de abrir diretamente o formulário, já que o mesmo é um arquivo do Writer. Ao fazer um formulário no Base, mandar "Salvar como" o formulário numa pasta. depois fecha-se o Base e vá direto no Writer.

No Writer, abra o formulário (só aparece o formulário sem os dados pois os links se perdem), então vá no Menu "exibir" e escolha "barra de ferramentas", "controle de formulários", ative o modo design, e clique na caixa de listagem com o botão direito, escolha "formulário" ali insira (navegando pelos diretórios) os dados necessários para ligar ao banco de dados.

Novamente clique com o botão direito em cima do campo, mas desta vez escolha: "controle" para escolher qual campo do banco de dados quer que apareça ali. Basta fazer num campo para ligar a todos. No caso de um formulário com sub formulário, deve-se repetir o processo no campo do sub-formulário.

Depois é só desativar o modo desing, e está tudo lá, funcionando direitinho,

É só salvar e usar quando quiser.

Em caso de usar um banco que vem de outra máquina, não esquecer de registrá-lo no Libreoffice da máquina atual na mesma sequência de pastas para não perder os links.

editar assinalar como ofensivo Excluir Link mais
0

respondidas 2015-02-24 02:08:11 +0200

esta mensagem está marcada como wiki comunitário

Esta mensagem é um wiki. Qualquer pessoa com karma >75 é bem-vinda para a melhorar.

tem uma macro que faz isso, olha o código:

REM  *****  BASIC  *****

Sub AutoExec

On Error Goto HandleError

Dim LastFrame As Object

Dim NumFrames As Integer

Static FormDocs As Object

Dim DBDoc As Object

Dim ImpName As String

Dim DataSource As Object

Dim Conn As Object

Dim Args(1) As New com.sun.star.beans.PropertyValue

Dim FormName As String

Dim FormDoc As Object

FormName="frm_menu" 'Mude aqui para o Forms de Abertura da Aplicação

ImpName="com.sun.star.comp.dba.ODatabaseDocument"

NumFrames=StarDesktop.Frames.Count

LastFrame=StarDesktop.Frames.getByIndex(NumFrames-1)

If LastFrame.Frames.Count>1 Then

Exit Sub

End If

If Not (LastFrame.Controller.Model.ImplementationName=ImpName) Then

Exit Sub REM not a db doc

End If

DataSource=LastFrame.Controller.DataSource

DBDoc=DataSource.DatabaseDocument

FormDocs=DBDoc.FormDocuments

Conn=DataSource.getConnection("","") REM no user/password

Args(0).Name="ActiveConnection" : Args(0).Value=Conn

if FormDocs.hasByName(FormName) Then

FormDoc=FormDocs.loadComponentFromURL(FormName,"_self",2,Args() )

FormDoc.CurrentController.Frame.ContainerWindow.setFocus()

End If

HandleError:

If Err<>0 Then

Exit Sub

End If

End Sub

Pra criar uma macro vc tem que ir no menu ferramentas-->macros-->organizar caixa de diálogo--> módulos --> Biblioteca-->editar

editar assinalar como ofensivo Excluir Link mais

Comentários

Boa noite. Sou novo no Base mas usava o access e estou produzindo um banco de dados para gerenciar pessoal. Também usava um Form inicial no Access e gostaria de fazer o mesmo com o Base. Porém, estou tentando usar esse código mas não consigo obter sucesso.

FormName="frm_menu" 'Mude aqui para o Forms de Abertura da Aplicação é isso? FormName="F_Inicial" (é o nome do meu menu inicial)

imagem do gravatar de Marcos2ASMarcos2AS ( 2017-08-18 03:03:20 +0200 )editar
0

respondidas 2019-04-25 05:52:53 +0200

imagem do gravatar de Levi

Testei essa macro aqui, mas verifiquei que ela não funcionou. Já a tinha utilizado a algum tempo atrás, mas como sempre perco meus HDs e não tenho costume de deixar um registro escrito, não lembrava onde a tinha visto. Após verificar que a mesma não funcionou, resolvi pesquisar e encontrei o site do João Mateus (http://aversenosentendemos.blogspot.c...) contendo o restante da informação para que a mesma funcione corretamente: "(...)Preferimos criar esta macro numa biblioteca a um nível superior pois a mesma irá servir, no futuro, para todas as aplicações criadas no Open Office (se quisermos utilizá-la numa outra máquina podemos sempre exportá-la como ocx) mas a mesma pode ser criada no módulo da aplicação (isso foi testado).

Com a macro criada, abrimos o documento do base onde queremos que a mesma seja utilizada e:

Vamos a Ferramentas → Personalizar e escolhemos o separador Eventos

Escolhemos o evento “Abrir Documento” e em “Atribuir” escolhemos a “Macro” que criámos."

Abaixo, a imagem postada na página dele: http://2.bp.blogspot.com/_XhJxZOTz0zI...

editar assinalar como ofensivo Excluir Link mais
Login/Registrar para responder

Ferramentas de perguntas

Estatísticas

Perguntadas: 2013-04-02 23:19:03 +0200

Lidas: 2,417 vezes

Última atualização: Apr 25