abrir formulário automaticamente no Base

é 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.

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.

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

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)

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 (A Ver Se Nos Entendemos (Nós e o computador): Abrir forms ao abrir um documento do Base do OpenOffice) 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: