Prezados tenho um formulário em que tenho que fazer a inserção de um número de procedimento no seguinte formato "000001/2017". Há a possibilidade de que a máscara faça tanto a inserção dos zeros a esquerda do ´número como também o ano corrente automaticamente? Ou que a inserção do ano seja por algum código VBA?
4 participantes
[Resolvido]Mascara com inserção do ano
CassioFerreira- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 8
Registrado : 10/07/2014
- Mensagem nº1
[Resolvido]Mascara com inserção do ano
Alexandre Fim- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 3494
Registrado : 13/12/2016
- Mensagem nº2
Re: [Resolvido]Mascara com inserção do ano
Olá Cassio Ferreira,
Voce pode colocar a seguinte função:
SeuCampo=Right("QtdeZerosAEsquerda" & CampoValor & , Largura) &"/"& Year(Date)
Ex.: Right("00000000" & 1, 6) &"/"& Year(Date)
Resultado: 00000001/2017
Espero ter ajudado.
Abraços
Voce pode colocar a seguinte função:
SeuCampo=Right("QtdeZerosAEsquerda" & CampoValor & , Largura) &"/"& Year(Date)
Ex.: Right("00000000" & 1, 6) &"/"& Year(Date)
Resultado: 00000001/2017
Espero ter ajudado.
Abraços
Alexandre Fim- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 3494
Registrado : 13/12/2016
- Mensagem nº3
Re: [Resolvido]Mascara com inserção do ano
E ai Cassio? Deu certo?
Att,
Att,
CassioFerreira- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 8
Registrado : 10/07/2014
- Mensagem nº4
Re: [Resolvido]Mascara com inserção do ano
Eu não sei se deveria esclarecer que este formulário é do Access. Estou na dúvida, pela forma como inicia a rotina "SeuCampo=", onde deve ser inserida.
Alexandre Fim- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 3494
Registrado : 13/12/2016
- Mensagem nº5
Re: [Resolvido]Mascara com inserção do ano
Olá Cassio,
Me desculpe, não entendi a sua dúvida.
Me desculpe, não entendi a sua dúvida.
CassioFabre- Super Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 731
Registrado : 18/01/2013
- Mensagem nº6
Re: [Resolvido]Mascara com inserção do ano
Bom dia,
Pela quantidade de zeros ser veriável de acordo com o número do procedimento (ex. se o procedimento foi o numero 1 então será 000001/2017 mas se for o 15 será 000015/2017, ou seja, diminuiu um "0" do procedimento), não é bom manter essa quantidade fixa ou pedir ao usuário que a informe, então eu pensaria numa função assim:
Dim strZeros As String
Dim qntDigitos As Integer
qntDigitos = 6
For i = 1 To qntDigitos - Len(txt) Step 0
strZeros = strZeros & "0"
i = i + 1
Next i
txt1 = strZeros & txt & "/" & Year(Date)
- qntDigitos é a quantidade de números que você terá antes da barra que divide o ano.
- txt é o campo que você insere o número do procedimento, pode ser substituido por uma função que retorne esse valor.
- txt1 é o campo que receberá o valor do número do procedimento
No evento Após Atualizar do campo que você insere o número do procedimento ou então no evento que isso acontece, coloque este código.
Vale ressaltar que usar o Date para retornar a data atual é uma falha de segurança, isso porque essa função retorna a data atual do windows, que pode ser alterada a qualquer momento pelo usuário, gerando uma insegurança se a informação está correta ou não. Por isso, sugiro que leia: usandoaccess.com.br/dicas/capturando-data-e-hora-da-internet.asp?id=1 (copiar e colar no navegador) e utilizar esse procedimento para capturar a data correta, que no seu caso é o ano.
Estou enviando em anexo um modelo para ver o funcionamento.
Abraço.
Pela quantidade de zeros ser veriável de acordo com o número do procedimento (ex. se o procedimento foi o numero 1 então será 000001/2017 mas se for o 15 será 000015/2017, ou seja, diminuiu um "0" do procedimento), não é bom manter essa quantidade fixa ou pedir ao usuário que a informe, então eu pensaria numa função assim:
Dim strZeros As String
Dim qntDigitos As Integer
qntDigitos = 6
For i = 1 To qntDigitos - Len(txt) Step 0
strZeros = strZeros & "0"
i = i + 1
Next i
txt1 = strZeros & txt & "/" & Year(Date)
- qntDigitos é a quantidade de números que você terá antes da barra que divide o ano.
- txt é o campo que você insere o número do procedimento, pode ser substituido por uma função que retorne esse valor.
- txt1 é o campo que receberá o valor do número do procedimento
No evento Após Atualizar do campo que você insere o número do procedimento ou então no evento que isso acontece, coloque este código.
Vale ressaltar que usar o Date para retornar a data atual é uma falha de segurança, isso porque essa função retorna a data atual do windows, que pode ser alterada a qualquer momento pelo usuário, gerando uma insegurança se a informação está correta ou não. Por isso, sugiro que leia: usandoaccess.com.br/dicas/capturando-data-e-hora-da-internet.asp?id=1 (copiar e colar no navegador) e utilizar esse procedimento para capturar a data correta, que no seu caso é o ano.
Estou enviando em anexo um modelo para ver o funcionamento.
Abraço.
- Anexos
- Numero Procedimento.zip
- Você não tem permissão para fazer download dos arquivos anexados.
- (38 Kb) Baixado 20 vez(es)
JPaulo- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 11026
Registrado : 04/11/2009
- Mensagem nº7
Re: [Resolvido]Mascara com inserção do ano
Ou o simples sem necessidade de acesso pela internet;
Já inserido aqui no forum, muitas vezes;
Download
Já inserido aqui no forum, muitas vezes;
Download
.................................................................................
Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.
Pay-Pal R$ Aqui
Pay-Pal € Aqui
Ou ainda: Aqui (Novo)
Sucesso e Bons Estudos
Success and Good Studies
Utilize o Sistema de Busca do Fórum...
102 Códigos VBA Gratuitos...
Instruções SQL como utilizar...
CassioFerreira- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 8
Registrado : 10/07/2014
- Mensagem nº8
Re: [Resolvido]Mascara com inserção do ano
Esse site é porreta mesmo, obrigado a todos que vieram ao meu auxílio, deu certo, já estou acrescentando ao meu sistema access. esse modo de inserção de dados já parametrizados aceleram em muito o trabalho de digitação. Mais uma vez obrigado a todos.
JPaulo- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 11026
Registrado : 04/11/2009
- Mensagem nº9
Re: [Resolvido]Mascara com inserção do ano
Fico feliz.
Obrigado pelo retorno o forum agradece.
Obrigado pelo retorno o forum agradece.
.................................................................................
Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.
Pay-Pal R$ Aqui
Pay-Pal € Aqui
Ou ainda: Aqui (Novo)
Sucesso e Bons Estudos
Success and Good Studies
Utilize o Sistema de Busca do Fórum...
102 Códigos VBA Gratuitos...
Instruções SQL como utilizar...