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]localizar registro duplicado

    Compartilhe

    jntrindade
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 07/12/2009

    [Resolvido]localizar registro duplicado

    Mensagem  jntrindade em 4/11/2018, 18:22

    boa tarde estou usando este codigo para evitar a duplicidade,mas gostaria que nesse mesmo codigo me retornasse o registro duplicado.

    Sub verificaRegistro()

    Dim criterio As String

    If Not IsNull(transportadora) And Not IsNull(dtmanifesto) Then

    If IsNull(idmanifesto) Then
    idmanifesto = DMax("idmanifesto", "tblmanifesto") + 1
    End If

    'Aqui montamos o critério de verificação:
    'Para campos do tipo texto colocamos entre aspas simples;
    'Para campos do tipo data colocamos no formato #mm/dd/yyyy#;
    'Para campos do tipo número colocamos de maneira simples.
    criterio = "transportadora=" & transportadora & " And dtmanifesto=#" & Format(dtmanifesto, "mm/dd/yyyy") & "#"

    'Caso retorne algum registro com o critério especificado
    'significa que já existe um registro idêntico.
    If DCount("idmanifesto", "tblmanifesto", criterio) > 0 Then

    If MsgBox("Já existe um manifesto para essa transportadora nesta data!" & vbCrLf & "Deseja cancelar o preenchimento?", _
    vbQuestion + vbYesNo, "Verificação de registro") = vbYes Then


    transportadora = Null
    dtmanifesto = Null


    End If

    End If

    End If

    End Sub
    avatar
    vieirasoft
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]localizar registro duplicado

    Mensagem  vieirasoft em 4/11/2018, 19:02

    Aqui no Fórum tem vários exemplos. Pesquise, por favor.
    avatar
    vieirasoft
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]localizar registro duplicado

    Mensagem  vieirasoft em 4/11/2018, 19:10

    avatar
    vieirasoft
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]localizar registro duplicado

    Mensagem  vieirasoft em 8/11/2018, 13:34

    Resolveu????

    jntrindade
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 07/12/2009

    Re: [Resolvido]localizar registro duplicado

    Mensagem  jntrindade em 9/11/2018, 12:51

    bom dia vieira, nao consegui implementar no codigo que postei, pois gostaria que o mesmo buscasse os dados pela transportadora e pela data.
    avatar
    vieirasoft
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]localizar registro duplicado

    Mensagem  vieirasoft em 9/11/2018, 18:10

    Boa tarde, meu amigo. Há qualquer coisa que não nos estamos a entender. Vamos clarificar:

    1- Você quer impedir que um mesmo registo seja criado na base de Dados em duplicado?

    ou

    2- Você quer criar uma consulta e pesquisar por dois campos um registo?

    Se for a primeira opção a que pretende, é assim:

    Private Sub NomedoCampo_BeforeUpdate(Cancel As Integer)
    On Error Resume Next
    Dim strMsg As String, strTitle As String, intStyle As Integer
       strMsg = "Este item já está cadastrado no sistema..." & esteitem.Value
       strTitle = "Atenção"
       intStyle = vbInformation
       If (Not IsNull(DLookup("[esteitem]", "tbldositens", _
       "[esteitem] ='" & Me!esteitem & "'"))) Then
       MsgBox strMsg, intStyle, strTitle
       Cancel = True
    End If
    End Sub

    Se for a segunda opção a que lhe interessa,  a mais simples é fazer uma consulta e nos campos a filtrar Digitar:

    [Digite a Data:]  [Digite esteitem:]

      Data/hora atual: 19/1/2019, 02:54