MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Criar uma caixa de texto e colocar uma fórmula para não repetir dados

    avatar
    tombr
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 232
    Registrado : 08/04/2018

    [Resolvido]Criar uma caixa de texto e colocar uma fórmula para não repetir dados Empty [Resolvido]Criar uma caixa de texto e colocar uma fórmula para não repetir dados

    Mensagem  tombr em 17/7/2019, 14:33

    Olá,

    Como faço para criar uma caixa de texto e colocar uma fórmula para não repetir dados.

    Ao inserir um novo dado surja a mensagem que este valor já existe (para não ter dados repetido).

    Observação:
    Eu já sei fazer esse procedimento em "Caixa de Combinação".
    Nesse caso eu coloco o código VBA na opção "Se não estiver na Lista".

    Uso Access 2019.


    Última edição por tombr300 em 17/7/2019, 16:08, editado 2 vez(es)
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1013
    Registrado : 13/12/2016

    [Resolvido]Criar uma caixa de texto e colocar uma fórmula para não repetir dados Empty Re: [Resolvido]Criar uma caixa de texto e colocar uma fórmula para não repetir dados

    Mensagem  Alexandre Fim em 17/7/2019, 15:30

    Olá,

    Quando você diz "repetido" é por que já existe em alguma tabela?
    É isso?



    .................................................................................
    "Aprender é a única coisa de que a mente nunca se cansa, nunca tem medo e nunca se arrepende." (Leonardo da Vinci)
    "O impossível existe até que alguém duvide dele e prove o contrário." (Albert Einstein)
    avatar
    tombr
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 232
    Registrado : 08/04/2018

    [Resolvido]Criar uma caixa de texto e colocar uma fórmula para não repetir dados Empty Re: [Resolvido]Criar uma caixa de texto e colocar uma fórmula para não repetir dados

    Mensagem  tombr em 17/7/2019, 16:01

    Olá. Alexandre Fim

    É isso mesmo.

    Não quero ter dados duplicado.
    marcelo marques
    marcelo marques
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 719
    Registrado : 12/04/2016

    [Resolvido]Criar uma caixa de texto e colocar uma fórmula para não repetir dados Empty Re: [Resolvido]Criar uma caixa de texto e colocar uma fórmula para não repetir dados

    Mensagem  marcelo marques em 17/7/2019, 16:26

    Boa tarde tombr300 veja se é isto que pretende

    https://www.maximoaccess.com/t30940-resolvidoalerta-de-nome-repetido
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1013
    Registrado : 13/12/2016

    [Resolvido]Criar uma caixa de texto e colocar uma fórmula para não repetir dados Empty Re: [Resolvido]Criar uma caixa de texto e colocar uma fórmula para não repetir dados

    Mensagem  Alexandre Fim em 17/7/2019, 16:26

    Tom,

    Você pode fazer da seguinte forma:

    - crie um botão (cmdOK) para gravar os dados e no evento "AoClicar", cole o seguinte código:

    Código:


    Private Sub cmdOK_Click()

        If ValidaCampos = False Then
            MsgBox "Já existe registro cadastrado com o valor do campo.", vbExclamation, "Aviso"
            Exit Sub
        Else
        '========================================================================'
        ' Executa comando para gravar dados na tabela
        '========================================================================'
        End If

    End Sub



    No mesmo formulário, insira o seguinte código:

    Código:



    'função que verifica se já existe registro com o campo do formulario cadastrado
    Public Function ValidaCampos() As Boolean

    On Error GoTo trata_erro
    Dim sSQL                As String
    Dim DB                  As DAO.Database
    Dim rs                  As DAO.Recordset


        Set DB = CurrentDB
        ValidaCampos = True
       
        sSQL = "SELECT COUNT(*) as tot_reg FROM Nome_Tabela"
        sSQL = sSQL & " WHERE Nome_Campo_Tabela = '" & Trim(Nome_Campo_Formulario) & "' "
        Set rs = DB.OpenRecordset(sSQL)
       
        If rs("tot_reg") > 0 Then
            ValidaCampos = False
        End If
       
        rs.Close
        Set rs = Nothing

        Exit Function

    trata_erro:

        MsgBox "Erro gerado: " & Err.Number & " - " & Err.Description & "", vbCritical, "Erro"
        Exit Function

    End Function





    OBS: Não se esqueça de substituir "Nome_Tabela", "Nome_Campo_Tabela", "Nome_Campo_Formulario" pelos respectivos campos.

    Espero ter ajudado.

    Boa sorte





    .................................................................................
    "Aprender é a única coisa de que a mente nunca se cansa, nunca tem medo e nunca se arrepende." (Leonardo da Vinci)
    "O impossível existe até que alguém duvide dele e prove o contrário." (Albert Einstein)
    avatar
    tombr
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 232
    Registrado : 08/04/2018

    [Resolvido]Criar uma caixa de texto e colocar uma fórmula para não repetir dados Empty Re: [Resolvido]Criar uma caixa de texto e colocar uma fórmula para não repetir dados

    Mensagem  tombr em 17/7/2019, 23:31

    Olá, Alexandre Fim

    Muito obrigado pela ajuda.

    Infelizmente não deu certo.



    Última edição por tombr300 em 18/7/2019, 20:14, editado 1 vez(es)
    Carvalho
    Carvalho
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 165
    Registrado : 19/01/2013

    [Resolvido]Criar uma caixa de texto e colocar uma fórmula para não repetir dados Empty Criar uma caixa de texto e colocar uma fórmula para não repetir dados

    Mensagem  Carvalho em 18/7/2019, 19:52

    Boa tarde,

    tente esse código na propriedade Antes de atualizar,

    agradecimentos ao Jpaulo.

    Código:

    Private Sub Clube_BeforeUpdate(Cancel As Integer)

        On Error Resume Next
        Dim Busca As String
        Dim stLinkCriteria As String
        Dim rsc As DAO.Recordset

    Busca = Me!Clube.Value
    stLinkCriteria = "Clube= '" & Busca & "'"
    If DCount("Clube", "TabGeral", stLinkCriteria) > 0 Then
    Me.Undo
    Cancel = True
    MsgBox "Atenção, Clube " + vbCrLf & Busca & vbCrLf + " já existe.", vbInformation, "Duplicado"

    End If
    Set rsc = Nothing



    End Sub
    avatar
    tombr
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 232
    Registrado : 08/04/2018

    [Resolvido]Criar uma caixa de texto e colocar uma fórmula para não repetir dados Empty Re: [Resolvido]Criar uma caixa de texto e colocar uma fórmula para não repetir dados

    Mensagem  tombr em 18/7/2019, 20:14

    Olá, Carvalho

    Deu certo agora.

    Muito obrigado.
    Carvalho
    Carvalho
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 165
    Registrado : 19/01/2013

    [Resolvido]Criar uma caixa de texto e colocar uma fórmula para não repetir dados Empty Re: [Resolvido]Criar uma caixa de texto e colocar uma fórmula para não repetir dados

    Mensagem  Carvalho em 19/7/2019, 14:13

    O fórum agradece o retorno.

      Data/hora atual: 6/8/2020, 02:15