MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


3 participantes

    [Resolvido]Uso de máscara por meio de função VBA

    avatar
    edjunho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 235
    Registrado : 24/12/2011

    [Resolvido]Uso de máscara por meio de função VBA Empty [Resolvido]Uso de máscara por meio de função VBA

    Mensagem  edjunho 24/3/2014, 03:02

    Boa noite amigos,

    Me utilizei do seguinte código:

    Private Sub Contrato_NotInList(NewData As String, Response As Integer)
    Dim strSql As String
    Dim I As Integer
    Dim Msg As String

    'Sair se a caixa de combinação estiver vazia

    If NewData = "" Then Exit Sub

    Msg = "'" & NewData & "' não é um item da lista." & vbCr & vbCr
    Msg = Msg & "Deseja acrescentar?"

    I = MsgBox(Msg, vbQuestion + vbYesNo, "Contrato desconhecido...")
       If I = vbYes Then
         strSql = "Insert Into Contrato ([ContratoP2]) values ('" & NewData & "')"
               CurrentDb.Execute strSql, dbFailOnError
               Response = acDataErrAdded
           Else
               Response = acDataErrContinue
       End If
    End Sub


    *** Este código me acrescenta um novo registro na lista por uma Combo, se não houver o mesmo cadastrado.
    Funciona perfeitamente.
    Problema: o problema é que esta entrada teria que ser por meio de uma máscara: 0000\.000\-00/0000;0;.
    Na visualização da Combo aparece ok. Mas na tabela não entra como uma máscara. Precisaria definir isto mas não sei como.

    Em anexo.
    Anexos
    [Resolvido]Uso de máscara por meio de função VBA AttachmentMáscara.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (72 Kb) Baixado 14 vez(es)
    Marco Messa
    Marco Messa
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 291
    Registrado : 28/06/2010

    [Resolvido]Uso de máscara por meio de função VBA Empty Re: [Resolvido]Uso de máscara por meio de função VBA

    Mensagem  Marco Messa 24/3/2014, 12:23

    Realmente não vai salvar com a máscara porque ela serve apenas para visualização, porém o valor real na combo é sem ela.
    Não tenho o Access instalado aqui, mas se não me engano você poderia pegar esse texto exatamente como é exibido com a propriedade .text da combobox. É este valor que deve ser passado para a função que você utiliza.


    .................................................................................
    Tea with me that I book your face Cool
    avatar
    edjunho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 235
    Registrado : 24/12/2011

    [Resolvido]Uso de máscara por meio de função VBA Empty Re: [Resolvido]Uso de máscara por meio de função VBA

    Mensagem  edjunho 24/3/2014, 16:13

    Boa tarde,

    Não entendi onde uso a propriedade.
    Marco Messa
    Marco Messa
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 291
    Registrado : 28/06/2010

    [Resolvido]Uso de máscara por meio de função VBA Empty Re: [Resolvido]Uso de máscara por meio de função VBA

    Mensagem  Marco Messa 24/3/2014, 18:21

    Em algum momento você passa o valor da combo para o parâmetro NewData da função, certo?
    É nesse lugar que você deve passar o text da combobox.


    .................................................................................
    Tea with me that I book your face Cool
    avatar
    edjunho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 235
    Registrado : 24/12/2011

    [Resolvido]Uso de máscara por meio de função VBA Empty Re: [Resolvido]Uso de máscara por meio de função VBA

    Mensagem  edjunho 24/3/2014, 19:03

    Perdão amigo, ainda tá escura a idéia.
    Eu não domino o vba ainda e estes termo que vc usou ainda não entendi.
    Na verdade este código foi pego já pronto fiz minhas adaptações.
    avatar
    edjunho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 235
    Registrado : 24/12/2011

    [Resolvido]Uso de máscara por meio de função VBA Empty Re: [Resolvido]Uso de máscara por meio de função VBA

    Mensagem  edjunho 26/3/2014, 02:45

    Seria assim:

    Mas não deu certo.

    Private Sub Contrato_NotInList(NewData As String, Response As Integer)
    Dim strSql As String
    Dim I As Integer
    Dim Msg As String

    'Sair se a caixa de combinação estiver vazia

    If NewData = "" Then Exit Sub

    Msg = "'" & NewData.0000\.000\-00/0000;0; & "' não é um item da lista." & vbCr & vbCr
    Msg = Msg & "Deseja acrescentar?"

    I = MsgBox(Msg, vbQuestion + vbYesNo, "Contrato desconhecido...")
    If I = vbYes Then
    strSql = "Insert Into Contrato ([ContratoP2]) values ('" & NewData & "')"
    CurrentDb.Execute strSql, dbFailOnError
    Response = acDataErrAdded
    Else
    Response = acDataErrContinue
    End If
    End Sub
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5120
    Registrado : 20/04/2011

    [Resolvido]Uso de máscara por meio de função VBA Empty Re: [Resolvido]Uso de máscara por meio de função VBA

    Mensagem  Silvio 26/3/2014, 10:48

    Bom dia...
    Sei não, mas acho que tem errado
    Tente algo assim....
    Msg ="O CNPJ " & me.NewData & "não é um item da lista." & vbcrlf & "Deseja acrescentar ?"


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    avatar
    edjunho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 235
    Registrado : 24/12/2011

    [Resolvido]Uso de máscara por meio de função VBA Empty Re: [Resolvido]Uso de máscara por meio de função VBA

    Mensagem  edjunho 26/3/2014, 12:10

    Erro de compilação:
    Método ou membro de dados não encontrado.

    Apontando o erro para: me.Newdata
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5120
    Registrado : 20/04/2011

    [Resolvido]Uso de máscara por meio de função VBA Empty Re: [Resolvido]Uso de máscara por meio de função VBA

    Mensagem  Silvio 26/3/2014, 12:16

    tira o me. então


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    avatar
    edjunho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 235
    Registrado : 24/12/2011

    [Resolvido]Uso de máscara por meio de função VBA Empty Re: [Resolvido]Uso de máscara por meio de função VBA

    Mensagem  edjunho 26/3/2014, 12:20

    Caracter de declaracao de tipo não corresponde ao tipo de dados declarado.


    Aponta o erro para....: vbcrlf
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5120
    Registrado : 20/04/2011

    [Resolvido]Uso de máscara por meio de função VBA Empty Re: [Resolvido]Uso de máscara por meio de função VBA

    Mensagem  Silvio 26/3/2014, 12:23

    melhor, posta parte do teu projeto, que esta dando essa zica para analisarmos ele melhor..


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    avatar
    edjunho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 235
    Registrado : 24/12/2011

    [Resolvido]Uso de máscara por meio de função VBA Empty Re: [Resolvido]Uso de máscara por meio de função VBA

    Mensagem  edjunho 26/3/2014, 13:06

    Banco enviado.
    Anexos
    [Resolvido]Uso de máscara por meio de função VBA AttachmentControle de Pendências - Oficial - Cópia-1.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (212 Kb) Baixado 13 vez(es)
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5120
    Registrado : 20/04/2011

    [Resolvido]Uso de máscara por meio de função VBA Empty Re: [Resolvido]Uso de máscara por meio de função VBA

    Mensagem  Silvio 26/3/2014, 14:20

    Pois é....eu tenho apenas o Ac2007.

    Salve o teu projeto no formato Ac2000/2003 para podermos vê-lo.

    Grato,


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    avatar
    edjunho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 235
    Registrado : 24/12/2011

    [Resolvido]Uso de máscara por meio de função VBA Empty Re: [Resolvido]Uso de máscara por meio de função VBA

    Mensagem  edjunho 26/3/2014, 18:13

    Arquivo convertido.
    Anexos
    [Resolvido]Uso de máscara por meio de função VBA AttachmentControle de Pendências - Oficial - Cópia123.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (87 Kb) Baixado 8 vez(es)
    avatar
    edjunho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 235
    Registrado : 24/12/2011

    [Resolvido]Uso de máscara por meio de função VBA Empty Re: [Resolvido]Uso de máscara por meio de função VBA

    Mensagem  edjunho 28/3/2014, 00:53

    Boa noite amigo Silvio,

    A máscara está em: Formulário "Geral"; Campo "Contrato" para análise.
    Desde já obrigado.
    avatar
    Convidado
    Convidado


    [Resolvido]Uso de máscara por meio de função VBA Empty Re: [Resolvido]Uso de máscara por meio de função VBA

    Mensagem  Convidado 28/3/2014, 02:56

    um pitacozinho, o teu problema é que o campo Contrato da tabela Geral está em formato numérico e ele tem que estar como texto da mesma forma que a tabela Contrato.
    avatar
    edjunho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 235
    Registrado : 24/12/2011

    [Resolvido]Uso de máscara por meio de função VBA Empty Re: [Resolvido]Uso de máscara por meio de função VBA

    Mensagem  edjunho 28/3/2014, 03:01

    Então em uma Combobox não há possibilidades para tal feito?
    É que se eu mudar para texto ele não vai me trazer os registros da tabela base.
    avatar
    Convidado
    Convidado


    [Resolvido]Uso de máscara por meio de função VBA Empty Re: [Resolvido]Uso de máscara por meio de função VBA

    Mensagem  Convidado 28/3/2014, 03:08

    Se não fosse possível não tinha sugerido a mudança, baixa o exemplo e faz o teste
    avatar
    edjunho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 235
    Registrado : 24/12/2011

    [Resolvido]Uso de máscara por meio de função VBA Empty Re: [Resolvido]Uso de máscara por meio de função VBA

    Mensagem  edjunho 28/3/2014, 03:22

    Amigo Beto, muito bom. Deu certo.



    Dúvida: Só não entendi como apareceu a mensagem:Falso (qual parte do código eu analiso?)
    Para ficar perfeito só preciso mudar a msg para: ...não existe... deseja acrescentar?

    Código utilizado.

    Dim strSql As String
    Dim I As Integer
    Dim Msg As String

    'Sair se a caixa de combinação estiver vazia
    If NewData = "" Then Exit Sub

    Msg = " O Contrato" & NewData & "' não é um item da lista." & vbCr _
    & Msg = Msg & "Deseja acrescentar?"

    I = MsgBox(Msg, vbQuestion + vbYesNo, "Contrato desconhecido...")
       If I = vbYes Then
         strSql = "Insert Into Contrato ([ContratoP2]) values ('" & NewData & "')"
               CurrentDb.Execute strSql, dbFailOnError
               Response = acDataErrAdded
           Else
               Response = acDataErrContinue
       End If
    End Sub
    avatar
    Convidado
    Convidado


    [Resolvido]Uso de máscara por meio de função VBA Empty Re: [Resolvido]Uso de máscara por meio de função VBA

    Mensagem  Convidado 28/3/2014, 03:46

    Substitui o código existente por este:

    Private Sub Contrato_NotInList(NewData As String, Response As Integer)

    Dim strSql As String

    If MsgBox("Este contrato não existe no cadastro... " & Chr(13) & "deseja acrescentar? " _
    , vbYesNo, "Cadastro") = vbYes Then
    strSql = "Insert Into Contrato ([ContratoP2]) values ('" & NewData & "')"
    CurrentDb.Execute strSql, dbFailOnError
    Response = acDataErrAdded
    Else
    Response = acDataErrContinue
    End If

    End Sub
    avatar
    edjunho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 235
    Registrado : 24/12/2011

    [Resolvido]Uso de máscara por meio de função VBA Empty Re: [Resolvido]Uso de máscara por meio de função VBA

    Mensagem  edjunho 28/3/2014, 03:55

    Beto, Valeu estar acordado até esta hora. 00:54h.
    Obrigado mestre por mais esta lição.
    Fica mais um aprendizado para o futuro.
    Agradeço também ao Silvio que se dispôs a ajudar.
    Este Fórum é 10.

    Conteúdo patrocinado


    [Resolvido]Uso de máscara por meio de função VBA Empty Re: [Resolvido]Uso de máscara por meio de função VBA

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 05:18