Pergunte aqui
1

Como faço para criar consultas que me deem os aniversariantes do mês no LibreOffice Base?

perguntadas 2013-10-31 17:34:25 +0100

usuário anônimo

Anônimo

updated 2013-10-31 18:41:28 +0100

Tenho uma tabela no criada no LibreOffice Base com o nome de alguns empregados e suas datas de nascimento e gostaria de gerar consultas que me apresentasse a lista dos aniversariantes por mês. Como faço isso?

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

3 Respostas

2

respondidas 2013-10-31 18:00:32 +0100

imagem do gravatar de jptagima

Primeiro você deve verificar se na coluna com as datas de nascimento criada está com o "Tipo de Campo" selecionado como "DATE", para consultar basta clicar com o botão direito em cima da tabela e verificar o tipo de campo. Como exemplo fictício para aprendizado vamos supor que nossa tabela com nome ANIVERSARIOS tenha apenas 3 campos. O campo "ID" (Campo automático), o campo "NOME" (Campo com nome das pessoas - Tipo de Campo: Text [VARCHAR] e finalmente o campo "DATA" (Campo com as datas de nascimento - Tipo de Campo Date [DATE]). Para este exemplo usaremos a consulta referente ao mês de Janeiro.

Feito isso, passemos a consulta, clicando em Consultas e em seguida em Criar consulta no editor de SQL.

Na janela que abrirá digitaremos o seguinte comando:

SELECT "NOME", "DATA" FROM "ANIVERSARIOS" WHERE MONTHNAME( "ANIVERSARIOS" ) = 'January' ORDER BY DAYOFMONTH( "ANIVERSARIOS" ) ASC

Em seguida executaremos a consulta clicando em F5 e teremos a apresentação dos resultados. Após isso, salve a consulta e proceda da mesma forma, criando novas consultas para os outros meses alterando somente a informação January, pelo nome dos outros meses em inglês (February, March, April, May, June, July, August, September, October, November, December).

Explicação do comando. O que fizemos foi selecionar a coluna com as informações referentes aos nomes e as datas de nascimento da tabela ANIVERSARIOS (SELECT "NOME", "DATA" FROM "ANIVERSARIOS"), selecionando apenas as que contivessem o nome do mês de aniversário igual a janeiro ( WHERE MONTHNAME( "ANIVERSARIOS" ) = 'January' ) e ordenados em ordem crescente de acordo com o dia da data de nascimento (ORDER BY DAYOFMONTH( "ANIVERSARIOS" ) ASC).

Espero ter sido claro. Abraços

João Paulo

editar assinalar como ofensivo Excluir Link mais
0

respondidas 2015-04-08 18:44:12 +0100

esta mensagem está marcada como wiki comunitário

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

E se eu quisesse criar no formulário, uma combobox com os meses do noe ao selecionar um deles ( Janeiro por exemplo) esse valor fosse o critério da consulta?

Eu fazia isso no MSAccess era simples, bastava referenciar um campo do formulário:

critério: [Formulários]![frm_nivermes]![cmb_mes]

Mas no libre naum achei nada e to desesperado... alguém sabe como

Por favor respondam essa minha pergunta:

http://ask.libreoffice.org/pt-br/ques...

editar assinalar como ofensivo Excluir Link mais
0

respondidas 2013-11-14 19:20:23 +0100

imagem do gravatar de Nelson Quintanilha

Eu faria de outra forma, não sei usar o SQL. Criaria um novo campo na tabela de Empregados, Aniversariante do Mês e preencheria o campo criado com o mês ou com numero do mês correspondente a ele. Faria uma consulta que contivesse os campos, Nome dos Empregados e Aniversariante do Mês No CRITÉRIO da consulta colocaria (:Indique o Mês de aniversário) somente o que está entre parenteses. Poderia fazer também um relatório baseado nessa consulta se você quiser, ficaria mais chique ou simplesmente executar a consulta mesmo.

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

Ferramentas de perguntas

Estatísticas

Perguntadas: 2013-10-31 17:34:25 +0100

Lidas: 2,221 vezes

Última atualização: Apr 08 '15