Olá @nielson.santos!
Seja bem vindo a nossa comunidade!
No Latromi, não existem campos pré-definidos do tipo Mês/Ano ou Ano/Mês.
Mas existem outras abordagem que funcionam bem para este tipo de valor.
Validação por Expressão Regular
Você pode usar um campo do tipo TextBox do Formulário, e preencher as seguintes propriedades:
- Máscara:
##/####
- Expressão Regular:
^(|(0[1-9]|1[0-2])(19[0-9]{2}|2[0-9]{3}))$
Máscara
A máscara vai permitir que o usuário informe até 6 números, mas nenhuma letra.
Expressão Regular
A expressão regular, vai validar o valor do campo durante o Click de um botão cuja a propriedade “Requer Validação de Campos” esteja marcada.
Essa expressão considera o valor válido se:
- O campo estiver vazio (não preenchido).
- O campo estiver preenchido com valores de 01 até 12 nos dois primeiros dígitos, seguido de 1900 até 2999 nos próximos quatro dígitos. A máscara não é considerada na expressão regular pois não faz parte do valor.
Na tabela abaixo, podemos ver exemplos de como ficariam os valores informados:
Digitado |
Válido |
Recebido¹ |
13/2019 |
 |
|
1/2018 |
 |
|
02/87 |
 |
|
12/1899 |
 |
|
01/1900 |
 |
011900 |
01/2018 |
 |
012018 |
09/1987 |
 |
091987 |
¹ Recebido - Valor recebido no servidor. É o valor que será usado nos procedimentos e comandos SQL.
Usando ComboBoxes
Também é possível usar dois campos do tipo ComboBox: Um para o usuário selecionar o Mês e outro para selecionar Ano.
Siga os passos abaixo para criar o campo do Mês:
- Adicione um campo do tipo ComboBox no Formulário.
- Na propriedade “Itens” da categoria “Dados” informe uma lista de Valores de 1 a 12. Se preferir pode usar o nome de cada mês na Coluna Texto ao invés do número.
Siga os passos abaixo para criar o campo Ano:
- Adicione um campo do tipo ComboBox no Formulário.
- Na propriedade “Fonte de Dados” da categoria “Dados” informe um comando SQL que liste os anos. Veja exemplos abaixo.
- Configure a ligação dos campos da seguinte forma:
- Campo de valor:
ano
- Campo com o texto de exibição:
ano
- Campo de ordenação:
ano
DESC
O resultado seria parecido com este:

Abaixo estão exemplos de comandos SQL que podem ser usados para listar os anos:
ORACLE
with anos AS (
select level ano
from dual
connect by level <= extract(year from sysdate)
)
select ano from anos where ano > 1900
PostgreSQL
select
generate_series (1900, extract(year from current_date)::int) ano
SQL Server
with anos as (
select 1900 as ano
union all
select ano + 1 from anos
where ano < year(getdate())
)
select * from anos
option (maxrecursion 0)