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

    avatar
    jntrindade
    Avançado
    Avançado

    Respeito às Regras 100%

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

    [Resolvido]localizar registro duplicado Empty [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
    vieirasoft
    vieirasoft
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]localizar registro duplicado Empty Re: [Resolvido]localizar registro duplicado

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

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

    Respeito às Regras 100%

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

    [Resolvido]localizar registro duplicado Empty Re: [Resolvido]localizar registro duplicado

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

    vieirasoft
    vieirasoft
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]localizar registro duplicado Empty Re: [Resolvido]localizar registro duplicado

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

    Resolveu????
    avatar
    jntrindade
    Avançado
    Avançado

    Respeito às Regras 100%

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

    [Resolvido]localizar registro duplicado Empty 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.
    vieirasoft
    vieirasoft
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]localizar registro duplicado Empty 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: 4/7/2020, 16:36