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


2 participantes

    [Resolvido]Verificar duplicidade com zero

    avatar
    alantb
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 25/07/2017

    [Resolvido]Verificar duplicidade com zero Empty [Resolvido]Verificar duplicidade com zero

    Mensagem  alantb 16/5/2019, 15:18

    Olá pessoal, tenho um formulário de cadastro de equipamentos, onde tem o campo txtNroPatrimonio (não é campo obrigatório na tabela, mas não existe dois equipamentos com o mesmo Número de Patrimônio). Quando se tem em mãos esse número o campo é preenchido, senão fica com o valor "0"  para não ficar em branco (em txtNroPatrimonio --> Propriedades-->guia Dados-->Valor Padrão=0), para ser editado mais tarde. Porém está acontecendo o seguinte:

    - cadastro um equipamento e informo o número do patrimônio, salva OK;
    - cadastro outro equipamento, mas não tenho o número de patrimônio ainda, salva com zero, OK;
    - vou salvar outro equipamento e informo o mesmo nº de patrimônio cadastrado para outro equipamento, me exibe a msg que o n° já existe, OK;
    - O problema onde quero chegar é que se faço um novo cadastrado, NOVAMENTE SEM o nº de patrimônio, os códigos para evitar duplicidade que já testei também identificam o 0 (zero) como um Número de Patrimônio já existente na tabela. Esse é o problema não deixar duplicar números mas ao mesmo tempo não levar em consideração o zero ao INCLUIR ou EDITAR dados. O último código que estou usando é esse:

    Código:
    Dim NroPlaca As Recordset

    If Me.txtNroPatrimonio <> "" Or Not IsNull(txtNroPatrimonio) Then

             strSql = "SELECT NroPatrimonio FROM tbEquipamento WHERE NroPatrimonio = " & Me.txtNroPatrimonio & ""
             Set NroPlaca = CurrentDb.OpenRecordset(strSql)

          If NroPlaca.RecordCount <> 0 Then

                MsgBox "Já existe Equipamento cadastrado com esse Nº de Patrimônio.", vbInformation, "Erro"
                Exit Sub
            End If          


           End If

    End Sub


    ALAN
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Verificar duplicidade com zero Empty Re: [Resolvido]Verificar duplicidade com zero

    Mensagem  Alvaro Teixeira 16/5/2019, 15:43

    avatar
    alantb
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 25/07/2017

    [Resolvido]Verificar duplicidade com zero Empty Re: [Resolvido]Verificar duplicidade com zero

    Mensagem  alantb 16/5/2019, 17:36

    ahteixeira blza, fiz uma busca no fórum antes sim, e a maioria era parecido com o que eu já tinha, ou então códigos mais avançados e complexos para o meu form que é bem simples. Segui usando o código que tinha e que muitos colegas já utilizam, só segui tentando contornar a msg com o zero e a pouco consegui algo que aparentemente resolve o meu problema. Entretanto copiei os links que enviaste, e vou aproveita-los, principalmente aquele que tem vários exemplos. Valeu pelas dicas. Segue as alterações que fiz e estou encerrando por aqui....!!

    Dim NroPlaca As Recordset

    If Me.txtNroPatrimonio <> "" Or Not IsNull(txtNroPatrimonio) Then

    strSql = "SELECT NroPatrimonio FROM tbEquipamento WHERE NroPatrimonio = " & Me.txtNroPatrimonio & ""
    Set NroPlaca = CurrentDb.OpenRecordset(strSql)

    If NroPlaca.RecordCount <> 0 Then
    If Me.txtNroPatrimonio > 0 Then
    MsgBox "Já existe Equipamento cadastrado com esse Nº de Patrimônio.", vbExclamation, "Código já Existente"
    Me.txtNroPatrimonio.SetFocus
    Exit Sub
    End If

    If Me.txtNroPatrimonio = 0 Then
    Me.txtCodAlmoxarifado.SetFocus
    End If

    End If

    End If

    End Sub

    ALAN
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Verificar duplicidade com zero Empty Re: [Resolvido]Verificar duplicidade com zero

    Mensagem  Alvaro Teixeira 16/5/2019, 17:40

    Olá Alan,

    Agora estive a ler melhor a dúvida em relação ao zero.

    Para isso dever verificar se é duplicado quando o código do patrimônio for diferente de zero.
    Para isso será algo tipo:

    If CodPatrimonio <>0 then
    ...codigo para verificar duplicidade
    End if

    Se a dúvida se mantiver, disponibilize a base de dados com a parte envolvida para se testar.

    Abraço

    Conteúdo patrocinado


    [Resolvido]Verificar duplicidade com zero Empty Re: [Resolvido]Verificar duplicidade com zero

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/4/2024, 19:18