MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]alerta de nome repetido

    Compartilhe

    dori
    Novato
    Novato

    Respeito às Regras 100%

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

    [Resolvido]alerta de nome repetido

    Mensagem  dori em Dom 06 Ago 2017, 19:48

    Boa tarde pessoal!

    Eu tenho um sub-formulário no qual eu vou lançando o nome de várias pessoas, cerca de 30 a 40.
    Eu gostaria que o aplicativo me informasse que determinado nome já consta na relação caso fosse inserido duas vezes.
    estes nomes aparecem na caixa de combinação, eu clico no nome e ele é lançado no sub-formulário.  
              Nesse caso tem jeito?
    Grato!

    farao
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]alerta de nome repetido

    Mensagem  marcelo marques em Dom 06 Ago 2017, 22:02

    boa tarde amigo tenta assim
    no evento antes de atualizar


    if dcount("nome do campo ","nome da tabela" ,"nome do campo ="""& me!nome do campo subformulario &"""")>0 then

    msgbox"nome repetido... "
    me.undo
    exit sub
    endif





    Última edição por marcelo marques em Sab 12 Ago 2017, 03:19, editado 1 vez(es)

    dori
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: [Resolvido]alerta de nome repetido

    Mensagem  dori em Sab 12 Ago 2017, 01:01

    Olá Marcelo,

    Deu: "Tipo de dados incompatível na expressão de critério"

    O que pode haver de errado?

    Grato!
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]alerta de nome repetido

    Mensagem  marcelo marques em Sab 12 Ago 2017, 03:17

    boa noite dori envia o código que você fez por favor

    dori
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: [Resolvido]alerta de nome repetido

    Mensagem  dori em Sab 12 Ago 2017, 20:38

    Olá Marcelo, Boa tarde!

    Ficou assim;
    If DCount("nome", "TabDetalhesDaTesouraria", "nome =""" & Me.TxtNomeSubForm & """") > 0 Then

    Eu não conheço quase nada de programação, mas esse campo Nome, na tabela, o tipo de dados está como número.
    Será que é por isso?
    Eu tentei mudar para texto mas não dá mais. diz que eu tenho que excluir as relações. O banco de dados já tá pronto.

    A causa de ele estar como número, é que eu usei a opção assistente de pesquisa lá na tabela, daí ele passou para número automaticamente.
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]alerta de nome repetido

    Mensagem  marcelo marques em Sab 12 Ago 2017, 21:47

    Ola Dori  veja este exemplo
    Anexos
    Database1.accdb.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (100 Kb) Baixado 11 vez(es)

    dori
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: [Resolvido]alerta de nome repetido

    Mensagem  dori em Qua 16 Ago 2017, 22:07

    Boa tarde Marcelo,

    Veja bem, no meu caso não se trata de cadastro de pessoas.
    Eu já tenho varias pessoas cadastradas. o que acontece é que o meu campo onde eu insiro nos nomes é uma caixa de combinação.
    Eu digito na caixa de combinação e já abre a lista com todos os nomes, daí eu clico no nome da pessoa que irá contribuir, só que eu não posso inserir
    duas vezes a mesma pessoa, entendeu? Por isso que eu preciso que o sistema me avise que tal pessoa já foi inserida.
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]alerta de nome repetido

    Mensagem  marcelo marques em Qua 16 Ago 2017, 22:33

    ola Dori posta seu bd pra eu dar uma olhada por favor

    dori
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: [Resolvido]alerta de nome repetido

    Mensagem  dori em Sab 19 Ago 2017, 02:26

    Boa noite Marcelo!

    Segue anexo parte do bd para verificação:
    Anexos
    Exemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (147 Kb) Baixado 3 vez(es)
    avatar
    vieirasoft
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7139
    Registrado : 11/05/2010

    Re: [Resolvido]alerta de nome repetido

    Mensagem  vieirasoft em Sab 19 Ago 2017, 10:33

    Creio que o Avelino tem isto postado por aí algures. Siga com atenção e com calma:

    Option Compare Database
    Option Explicit
    Dim NomeOriginal As String
    .....................................

    Private Sub Form_Current()
    On Error Resume Next
    NomeOriginal = Nz(Me!txtProduto, "") 'substitua txtProduto pelo nome da sua combo
    End Sub
    ..........................................
    'substitua abaixo o nome da tabela e do Produto pelos seus

    Private Sub nome da sua combo_Before Update(Cancel As Integer)
    On Error Resume Next
    Dim i As String
    If NomeOriginal = Me.nome da sua combo Then Exit Sub
    If DCount("ID", "tblMun", "Produto =""" & Me.txtProduto & """") > 0 Then
    i = MsgBox("O Produto " & Me.txtProduto & " já existe...", vbInformation, "Aviso")
    Cancel = True
    End If
    End Sub

    dori
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: [Resolvido]alerta de nome repetido

    Mensagem  dori em Sab 19 Ago 2017, 14:24

    Bom dia pessoal!

    Vieira,
    Marcelo !

    Deu certo no código sugerido pelo Marcelo.
    Ficou assim:
    If DCount("TxtNome ", "TabDetContrib", "TxtNome =""" & Me!TxtNome & """") > 0 Then

    MsgBox "nome repetido... "
    Me.Undo
    Exit Sub
    End If

    Eu estava errando no Nome da tabela em azul.

    Obrigado a todos!
    avatar
    vieirasoft
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7139
    Registrado : 11/05/2010

    Re: [Resolvido]alerta de nome repetido

    Mensagem  vieirasoft em Sab 19 Ago 2017, 14:40

    Boas. Claro que deu certo, pois o código do Marcelo está correcto. O problema vai ser quando o utilizador inserir o mesmo nome com letra minúscula, por exemplo" e o nome estiver com letra maiúscula a base de dados, ou abreviar o nome do meio...etc...os utilizadores são imprevisíveis e,aí, vai ver que o código vai dar problemas...

    Consulte o site do colega Avelino, que detalha em pormenor esta questão.

    dori
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: [Resolvido]alerta de nome repetido

    Mensagem  dori em Sab 19 Ago 2017, 15:52

    Olá Vieira

    Acabei de testar novamente o código que você sugeriu, funciona belezinha, mas na mensagem ele não tá retornando com o nome e sim
    com número, Não consigo achar o erro, o que pode ser?




    avatar
    vieirasoft
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7139
    Registrado : 11/05/2010

    Re: [Resolvido]alerta de nome repetido

    Mensagem  vieirasoft em Sab 19 Ago 2017, 17:49

    Boas, novamente. Se está retornando número, é porque existe alguma troca no campo e a chave primária (presumo que seja numérica) pode estar a aparecer ou o campo em questão é numérico??? Ou na sua combo o campo chave primária está a aparecer, ao invés do artigo, nome ou produto.




      Data/hora atual: Ter 21 Nov 2017, 19:02