Jump to content

Libre Office Base: menus e segurança...


Joel Garcia da Costa
Go to solution Solved by Cerzedelo,

Recommended Posts

Prezados, bom dia!

Estou gerando um banco de dados bem simples no Libre Base, para atender uma demanda aqui no meu departamento. Não posso usar o Access, que seria a melhor alternativa, para tanto, devido a licença gratuita, tenho que usar os recursos do Base.

Assim, pergunto aos amigos: é possível criar menus no Base, para acessar facilmente consultas e formulários; ou um formulário com botões para abrir determinados objetos do banco de dados?

Segunda questão: Segurança! É possível colocar uma senha ou criar um esquema de usuários/senha no Base?

Grato pela atenção dos amigos.

Abs.,

Link to comment
Share on other sites

4 horas atrás, Joel Garcia da Costa disse:

Prezados, bom dia!

Estou gerando um banco de dados bem simples no Libre Base, para atender uma demanda aqui no meu departamento. Não posso usar o Access, que seria a melhor alternativa, para tanto, devido a licença gratuita, tenho que usar os recursos do Base.

Assim, pergunto aos amigos: é possível criar menus no Base, para acessar facilmente consultas e formulários; ou um formulário com botões para abrir determinados objetos do banco de dados?

Segunda questão: Segurança! É possível colocar uma senha ou criar um esquema de usuários/senha no Base?

Grato pela atenção dos amigos.

Abs.,

Quanto ao sistema de senha/usuário, com a base de dados incorporada HSQLDB, creio não ser possível criar, só se utilizar um outro motor de base de dados, tipo mysql  e usar o sistema de permissões do próprio motor.

Quanto a aceder através de menus, terá de criar um formulário para o efeito, e depois o mais pratico será utilizar macros, para aceder ao que pretende.

Dê uma vista de olhas no seguinte site, tem lá vários vídeos tutoriais sobre o Base. https://thefrugalcomputerguy.com/seriespg.php?ser=15

  • Vote 2
Link to comment
Share on other sites

1 hora atrás, Cerzedelo disse:

Quanto ao sistema de senha/usuário, com a base de dados incorporada HSQLDB, creio não ser possível criar, só se utilizar um outro motor de base de dados, tipo mysql  e usar o sistema de permissões do próprio motor.

Quanto a aceder através de menus, terá de criar um formulário para o efeito, e depois o mais pratico será utilizar macros, para aceder ao que pretende.

Dê uma vista de olhas no seguinte site, tem lá vários vídeos tutoriais sobre o Base. https://thefrugalcomputerguy.com/seriespg.php?ser=15

Muito obrigado, meu caro! Excelente material!

Olhei por lá, mas o que eu preciso, provavelmente no Base não possa ser executado, que é um formulário que dá acesso aos demais formulários, como se fosse a máscara principal de um programa, onde você clica nos botões e o usuário escolha os formulários específicos para serem abertos. Por exemplo: um formulário principal onde o usuário tenha botões para abrir determinada consulta ou até um formulário para entrada de novos dados, sendo que neste formulário principal não exista vínculo com nenhuma tabela ou consulta. 

Abs.,

Link to comment
Share on other sites

  • Solution
Em ‎04‎/‎08‎/‎2020 às 21:22, Joel Garcia da Costa disse:

Muito obrigado, meu caro! Excelente material!

Olhei por lá, mas o que eu preciso, provavelmente no Base não possa ser executado, que é um formulário que dá acesso aos demais formulários, como se fosse a máscara principal de um programa, onde você clica nos botões e o usuário escolha os formulários específicos para serem abertos. Por exemplo: um formulário principal onde o usuário tenha botões para abrir determinada consulta ou até um formulário para entrada de novos dados, sendo que neste formulário principal não exista vínculo com nenhuma tabela ou consulta. 

Abs.,

Para abrir um formulário a partir de um menu, faça da seguinte forma:

1 – modifique para o nível baixo, a segurança das macros, em Ferramentas > Opções > Libreoffice > Segurança > Segurança de macros

2 – crie um formulário no mode design e adicione um botão ou mais, personalize a gosto, e atribua um nome (será o seu formulário de menu)

3- Crie uma macro em Ferramentas > Macros > Organizar macros > Libreoffice Basic > selecione o seu ficheiro da base de dados (extensão .odb) > clicar em Nova > atribuir um nome ao modulo > clicar em aceitar

4- irá abrir o editor das macros > apagar o que código já presente e substituir pelo seguinte

Sub abrirformulario
Dim ObjTypeWhat
Dim ObjName as String
ObjName=”Form2”
ObjTypeWhat=com.sun.star.sdb.application.DatabaseObject.FORM
If ThisDataBaseDocument.FormDocuments.hasbyname(ObjName) Then
ThisDataBaseDocument.currentcontroller.connect()
ThisDataBaseDocument.currentcontroller.loadComponent (ObjTypeWhat, ObjName, FALSE)
Else
MsgBox “Erro ao abrir o formulário”
End if
End Sub

Substituir o “Form2” do ObjName pelo nome do formulário que deseja abrir e gravar a macro

5 – abra o seu formulário de menu em modo design > selecione o botão criado para o menu > clicar no botão direito do rato > selecionar Controlo > selecionar Eventos > selecionar Executar acção > Executar acção > clicar em Macro > selecionar o ficheiro da sua base de dados > Standard > selecionar o nome do modulo que deu no passo 3 e aparece selecionado o nome da macro > clicar em Aceitar > a seguir a executar acção aparecerá o nome da macro > clicar em Aceitar e sair do modo design travando tudo

6 – regresse ao menu dos formulários e abra o formulário do menu e clique no botão e ele abrirá o formulário pretendido ( no exemplo era Form2 )

Se pretender abrir o formulário do menu assim que entra no programa, crie uma nova macro, como descrita anteriormente, mas neste caso o nome do formulário no ObjName será o do formulário do menu. Em seguida vá a Ferramentas > Personalizar > Abrir documento clicar em Macro e selecionar a nova macro como nos passos anteriores e no fim clicar em Aceitar.

Quando abrir o programa automaticamente irá mostrar o formulário do menu.

  • Vote 2
Link to comment
Share on other sites

3 horas atrás, Cerzedelo disse:

Para abrir um formulário a partir de um menu, faça da seguinte forma:

1 – modifique para o nível baixo, a segurança das macros, em Ferramentas > Opções > Libreoffice > Segurança > Segurança de macros

2 – crie um formulário no mode design e adicione um botão ou mais, personalize a gosto, e atribua um nome (será o seu formulário de menu)

3- Crie uma macro em Ferramentas > Macros > Organizar macros > Libreoffice Basic > selecione o seu ficheiro da base de dados (extensão .odb) > clicar em Nova > atribuir um nome ao modulo > clicar em aceitar

4- irá abrir o editor das macros > apagar o que código já presente e substituir pelo seguinte


Sub abrirformulario
Dim ObjTypeWhat
Dim ObjName as String
ObjName=”Form2”
ObjTypeWhat=com.sun.star.sdb.application.DatabaseObject.FORM
If ThisDataBaseDocument.FormDocuments.hasbyname(ObjName) Then
ThisDataBaseDocument.currentcontroller.connect()
ThisDataBaseDocument.currentcontroller.loadComponent (ObjTypeWhat, ObjName, FALSE)
Else
MsgBox “Erro ao abrir o formulário”
End if
End Sub

Substituir o “Form2” do ObjName pelo nome do formulário que deseja abrir e gravar a macro

5 – abra o seu formulário de menu em modo design > selecione o botão criado para o menu > clicar no botão direito do rato > selecionar Controlo > selecionar Eventos > selecionar Executar acção > Executar acção > clicar em Macro > selecionar o ficheiro da sua base de dados > Standard > selecionar o nome do modulo que deu no passo 3 e aparece selecionado o nome da macro > clicar em Aceitar > a seguir a executar acção aparecerá o nome da macro > clicar em Aceitar e sair do modo design travando tudo

6 – regresse ao menu dos formulários e abra o formulário do menu e clique no botão e ele abrirá o formulário pretendido ( no exemplo era Form2 )

Se pretender abrir o formulário do menu assim que entra no programa, crie uma nova macro, como descrita anteriormente, mas neste caso o nome do formulário no ObjName será o do formulário do menu. Em seguida vá a Ferramentas > Personalizar > Abrir documento clicar em Macro e selecionar a nova macro como nos passos anteriores e no fim clicar em Aceitar.

Quando abrir o programa automaticamente irá mostrar o formulário do menu.

Prezados, bom dia!

Meu amigo, muito obrigado! Vou testar e lhe dou um retorno!

PS.: Estou aprendendo muita coisa com o site que o amigo indicou!

Abs.,

Link to comment
Share on other sites

Em 06/08/2020 às 04:08, Cerzedelo disse:

Para abrir um formulário a partir de um menu, faça da seguinte forma:

1 – modifique para o nível baixo, a segurança das macros, em Ferramentas > Opções > Libreoffice > Segurança > Segurança de macros

2 – crie um formulário no mode design e adicione um botão ou mais, personalize a gosto, e atribua um nome (será o seu formulário de menu)

3- Crie uma macro em Ferramentas > Macros > Organizar macros > Libreoffice Basic > selecione o seu ficheiro da base de dados (extensão .odb) > clicar em Nova > atribuir um nome ao modulo > clicar em aceitar

4- irá abrir o editor das macros > apagar o que código já presente e substituir pelo seguinte


Sub abrirformulario
Dim ObjTypeWhat
Dim ObjName as String
ObjName=”Form2”
ObjTypeWhat=com.sun.star.sdb.application.DatabaseObject.FORM
If ThisDataBaseDocument.FormDocuments.hasbyname(ObjName) Then
ThisDataBaseDocument.currentcontroller.connect()
ThisDataBaseDocument.currentcontroller.loadComponent (ObjTypeWhat, ObjName, FALSE)
Else
MsgBox “Erro ao abrir o formulário”
End if
End Sub

Substituir o “Form2” do ObjName pelo nome do formulário que deseja abrir e gravar a macro

5 – abra o seu formulário de menu em modo design > selecione o botão criado para o menu > clicar no botão direito do rato > selecionar Controlo > selecionar Eventos > selecionar Executar acção > Executar acção > clicar em Macro > selecionar o ficheiro da sua base de dados > Standard > selecionar o nome do modulo que deu no passo 3 e aparece selecionado o nome da macro > clicar em Aceitar > a seguir a executar acção aparecerá o nome da macro > clicar em Aceitar e sair do modo design travando tudo

6 – regresse ao menu dos formulários e abra o formulário do menu e clique no botão e ele abrirá o formulário pretendido ( no exemplo era Form2 )

Se pretender abrir o formulário do menu assim que entra no programa, crie uma nova macro, como descrita anteriormente, mas neste caso o nome do formulário no ObjName será o do formulário do menu. Em seguida vá a Ferramentas > Personalizar > Abrir documento clicar em Macro e selecionar a nova macro como nos passos anteriores e no fim clicar em Aceitar.

Quando abrir o programa automaticamente irá mostrar o formulário do menu.

Prezados, bom dia!

Testado e aprovado! Muito obrigado pelos ensinamentos!

Tópico resolvido!

Abs.,

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.