PREENCHER COM ZEROS A ESQUERDA
TABELA: CLIENTES
CAMPO: CONTA
APELIDO: CONTA
TIPO: CARACTERE
TAMANHO: 11
MASCARA: 9.999.999-9
COMO DEVO FAZER PARA PREENCHER COM ZEROS À ESQUERDA NO CAMPO CONTA ACIMA ??
GRATO
PEDRO
CAMPO: CONTA
APELIDO: CONTA
TIPO: CARACTERE
TAMANHO: 11
MASCARA: 9.999.999-9
COMO DEVO FAZER PARA PREENCHER COM ZEROS À ESQUERDA NO CAMPO CONTA ACIMA ??
GRATO
PEDRO
Function zeroesquerda(byval nNumero as long ,byval nTamanho as long ) As String
Dim cVarZero
Dim nLenNumero
If nNumero =0 Then
zeroesquerda = ""
Else
cVarZero = right("000000000000"&trim(str(nNumero)),nTamanho)
zeroesquerda = cVarZero
End If
End Function
Dim cVarZero
Dim nLenNumero
If nNumero =0 Then
zeroesquerda = ""
Else
cVarZero = right("000000000000"&trim(str(nNumero)),nTamanho)
zeroesquerda = cVarZero
End If
End Function
isto:
numero = right("0000" & valor,6)
para o caso de 6 numeros.... e assim vai...
numero = right("0000" & valor,6)
para o caso de 6 numeros.... e assim vai...
Tente assim (não deu para testar AGORA, mas creio que funcione).
numero = cstr(format(valor,"00000000"))
PS: Só funcionará se a variável NUMERO for do tipo STRING, pois se for do tipo NUMERICO, ele não aceitará "zeros a esquerda".
numero = cstr(format(valor,"00000000"))
PS: Só funcionará se a variável NUMERO for do tipo STRING, pois se for do tipo NUMERICO, ele não aceitará "zeros a esquerda".
Prefiro essa função onde vc passa o numero desejado e a quantidade de zeros a esquerda que vc quer :
Public Function zeros_esquerda(ByVal str As String,ByVal qtd As Integer) As String
Dim aux%, i%
aux = Len(str)
For i = 1 To (qtd - aux)
str = "0" & str
Next
zeros_esquerda = str
End Function
Abraços
Public Function zeros_esquerda(ByVal str As String,ByVal qtd As Integer) As String
Dim aux%, i%
aux = Len(str)
For i = 1 To (qtd - aux)
str = "0" & str
Next
zeros_esquerda = str
End Function
Abraços
INFOFABIANO Não leve a mal...
Para atribuir a variável result o valor 10
veja:
Não há necessidade de usar LOOPING só para fazer esta tarefa simples...
Temos que buscar a OTIMIZAÇÃO de processos..
Olha agora:
Foi só pra exemplificar que pelo método do LCSD é mais prático....
Até mais amigo..
Para atribuir a variável result o valor 10
veja:
For i = 1 to 10
valor = valor + 1
result = valor
NextNão há necessidade de usar LOOPING só para fazer esta tarefa simples...
Temos que buscar a OTIMIZAÇÃO de processos..
Olha agora:
result = 10Foi só pra exemplificar que pelo método do LCSD é mais prático....
Até mais amigo..
Claro, mas calcule a diferença de tempo e se for significativa, me avise. 
A idéia foi somente de dar + 1 exemplo... O lance que eu quis enfocar é criar a função com a possibilidade de dizer a qtd de zeros à  esquerda desejados.
Abraços.

A idéia foi somente de dar + 1 exemplo... O lance que eu quis enfocar é criar a função com a possibilidade de dizer a qtd de zeros à  esquerda desejados.
Abraços.
Agradeço a gentileza de todos os colaboradores, mas está ocorrendo o seguinte:
Eu digito: 1111
Apos teclar TAB fica: 1.111
Eu preciso que fique assim: 0.000.111-1
Sou muito fraco em programação, por isso estou insistindo.
Valeu""""
Pedro
Eu digito: 1111
Apos teclar TAB fica: 1.111
Eu preciso que fique assim: 0.000.111-1
Sou muito fraco em programação, por isso estou insistindo.
Valeu""""
Pedro
Será que é isso que você quer,
Citação:
Private Sub Form_Load()
MsgBox mascara(1111)
MsgBox mascara(22222)
End Sub
Function mascara(ByVal Numero As Long) As String
mascara = Format$(Numero, "0/000/000-0")
mascara = Replace(mascara, "/", ".")
End Function
Pedro, tente usar esta função
Public Function FormataZerosEsq(Valor, nZeros As Integer)
FormataZerosEsq = Format(Valor, String(nZeros, "0"))
End Function
onde:
valor -> é o valor que vai ter os zeros a esquerda
nZeros -> é a quantidade de zeros que você deseja
Public Function FormataZerosEsq(Valor, nZeros As Integer)
FormataZerosEsq = Format(Valor, String(nZeros, "0"))
End Function
onde:
valor -> é o valor que vai ter os zeros a esquerda
nZeros -> é a quantidade de zeros que você deseja
Resolveu o seu problema,
Citação:
Private Sub Form_Load()
MsgBox mascara(1111)
MsgBox mascara(22222)
End Sub
Function mascara(ByVal Numero As Long) As String
mascara = Format$(Numero, "0/000/000-0")
mascara = Replace(mascara, "/", ".")
End Function
Citação:
Private Sub Form_Load()
MsgBox mascara(1111)
MsgBox mascara(22222)
End Sub
Function mascara(ByVal Numero As Long) As String
mascara = Format$(Numero, "0/000/000-0")
mascara = Replace(mascara, "/", ".")
End Function
Tópico encerrado , respostas não são mais permitidas