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]Função Undo em Formulário desvinculado

    Compartilhe
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3595
    Registrado : 06/11/2009

    [Resolvido]Função Undo em Formulário desvinculado

    Mensagem  Assis em 20/10/2017, 11:07

    Bom dia

    Este código deteta a duplicidade mas num formulário desvinculado, não deixa continuar, mas não limpa o campo digitado ( Me.Undo), nem com Me.Nome_Cartão.Undo

    Porquê ?

    Private Sub Nome_Cartão_BeforeUpdate(Cancel As Integer)
    If DCount("Nome_cartão", "Tabela_Cartoes", "Nome_Cartão = '" & Me!Nome_Cartão & "'") > 0 Then
    MsgBox "O Nome já está Registado na Tabela Códigos. Verifique se há Duplicidade", vbInformation, "Cartão Registado"
    Cancel = True
    Me.Undo
    End If
    End Sub

    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    CassioFabre
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 728
    Registrado : 18/01/2013

    Re: [Resolvido]Função Undo em Formulário desvinculado

    Mensagem  CassioFabre em 20/10/2017, 13:37

    Bom dia,

    No lugar do me.undo, coloque:

    Código:
    Nome_Cartão = null

    Abraço.


    .................................................................................
    Só não tem código pra morte!
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3595
    Registrado : 06/11/2009

    Re: [Resolvido]Função Undo em Formulário desvinculado

    Mensagem  Assis em 20/10/2017, 13:58

    Cassio

    Já tinha tentado

    Obrigado

    [Você precisa estar registrado e conectado para ver esta imagem.]


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    CassioFabre
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 728
    Registrado : 18/01/2013

    Re: [Resolvido]Função Undo em Formulário desvinculado

    Mensagem  CassioFabre em 20/10/2017, 16:05

    Boa tarde,

    Colocar o código no evento após atualizar seria um impecílho pra voce?

    Abraço.


    .................................................................................
    Só não tem código pra morte!
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3595
    Registrado : 06/11/2009

    Re: [Resolvido]Função Undo em Formulário desvinculado

    Mensagem  Assis em 20/10/2017, 16:47

    Cassio

    Funciona, mas não com o Me.Undo

    Private Sub Nome_Cartão_AfterUpdate()
    If DCount("Nome_cartão", "Tabela_Cartoes", "Nome_Cartão = '" & Me!Nome_Cartão & "'") > 0 Then
    MsgBox "O Nome já está Registado na Tabela Códigos. Verifique se há Duplicidade", vbInformation, "Cartão Registado"
    Me.Nome_Cartão.SetFocus
    Me.Nome_Cartão = Null
    Exit Sub
    End If
    End Sub


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    CassioFabre
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 728
    Registrado : 18/01/2013

    Re: [Resolvido]Função Undo em Formulário desvinculado

    Mensagem  CassioFabre em 23/10/2017, 11:59

    Bom dia,

    O que exatamente gostaria de fazer?

    Abraço.


    .................................................................................
    Só não tem código pra morte!
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3595
    Registrado : 06/11/2009

    Re: [Resolvido]Função Undo em Formulário desvinculado

    Mensagem  Assis em 23/10/2017, 12:05

    Bom dia Cassio

    A duvida é só na questão do comando Undo funcionar com tabelas vinculadas, e não nas tabelas desvinculadas .....(Acho eu)

    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 795
    Registrado : 01/03/2014

    Re: [Resolvido]Função Undo em Formulário desvinculado

    Mensagem  Celso Roberto em 23/10/2017, 21:38

    Olá Assis,

    Vi que já deu por resolvido, mas por teste tenta tratar o erro no evento antes de atualizar e ve se funciona.
    Se você tirar o comentário da msgbox do erro ele vai avisar o erro, eu costumo deixar desabilitado
    Código:
    On Error GoTo TrataErro
       
        If DCount("Nome_cartão", "Tabela_Cartoes", "Nome_Cartão = '" & Me!Nome_Cartão & "'") > 0 Then
            MsgBox "O Nome já está Registado na Tabela Códigos. Verifique se há Duplicidade", vbInformation, "Cartão Registado"
            Cancel = True
            Me.Nome_Cartão.Undo
            Me.Nome_Cartão.SetFocus
            Exit Sub
            End If
           
    Exit_Trataerro:
            Exit Sub
    TrataErro:
            'MsgBox "Erro número: " & Err.Number & " - " & Err.Description & " (" & Me.Name & " - " & Me.ActiveControl.Name & " - BeforeUpdate).", vbCritical, "Titulo"
            Resume Next

    Retorne

    Abraços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3595
    Registrado : 06/11/2009

    Re: [Resolvido]Função Undo em Formulário desvinculado

    Mensagem  Assis em 23/10/2017, 21:52

    Boa noite Celso

    Mantem-se igual com a sua função.

    Não executa o Undo e deixa continuar para o campo seguinte.

    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 795
    Registrado : 01/03/2014

    Re: [Resolvido]Função Undo em Formulário desvinculado

    Mensagem  Celso Roberto em 23/10/2017, 22:06

    Talvez este
    Código:
    Private Sub Nome_Cartão_BeforeUpdate(Cancel As Integer)
        Dim rst As DAO.Recordset
       
        On Error GoTo TrataErro
           
        '----------Inicia a verificação de duplicidade
        Set rst = Me.RecordsetClone
        rst.FindFirst "[Nome_cartão] = '" & Me!Nome_Cartão & "'"
           
        If Not rst.NoMatch Then
            'avisa
            MsgBox "O Nome já está Registado na Tabela Códigos. Verifique se há Duplicidade", vbInformation, "Cartão Registado"
            Cancel = True
            Me.Nome_Cartão.Undo
            Me.Nome_Cartão.SetFocus
        Else
            'Me.Refresh
        End If
            rst.Close
            Set rst = Nothing
           
    Exit_Trataerro:
            Exit Sub
    TrataErro:
            'MsgBox "Erro número: " & Err.Number & " - " & Err.Description & " (" & Me.Name & " - " & Me.ActiveControl.Name & " - BeforeUpdate).", vbCritical, "Titulo"
            Resume Next

    Abraços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3595
    Registrado : 06/11/2009

    Re: [Resolvido]Função Undo em Formulário desvinculado

    Mensagem  Assis em 23/10/2017, 22:13

    Celso

    Igual ao anterior.

    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 795
    Registrado : 01/03/2014

    Re: [Resolvido]Função Undo em Formulário desvinculado

    Mensagem  Celso Roberto em 23/10/2017, 22:52

    olá..

    Não estamos percebendo alguma coisa.

    amanhã vejo com calma

    Abraços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 795
    Registrado : 01/03/2014

    Re: [Resolvido]Função Undo em Formulário desvinculado

    Mensagem  Celso Roberto em 24/10/2017, 16:33

    Olá Assis,

    Também não consegui com Me.Undo em form desacoplado, só consegui desta maneira.

    Código:
    Private Sub Nome_Cartão_BeforeUpdate(Cancel As Integer)
    If DCount("Nome_cartão", "Tabela_Cartoes", "Nome_Cartão = '" & Me!Nome_Cartão & "'") > 0 Then
    MsgBox "O Nome já está Registado na Tabela Códigos. Verifique se há Duplicidade", vbInformation, "Cartão Registado"
    Cancel = True
    Me.Nome_Cartão.Text = ""
    End If
    End Sub

    Abraços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3595
    Registrado : 06/11/2009

    Re: [Resolvido]Função Undo em Formulário desvinculado

    Mensagem  Assis em 24/10/2017, 16:46

    Celso

    E mesmo assim só com

    On Error Resume Next, caso contrário o Me.Nome_Cartão.Text = "" , fica sublinhado a amarelo .......

    Private Sub Nome_Cartão_BeforeUpdate(Cancel As Integer)
    On Error Resume Next
    If DCount("Nome_cartão", "Tabela_Cartoes", "Nome_Cartão = '" & Me!Nome_Cartão & "'") > 0 Then
    MsgBox "O Nome já está Registado na Tabela Códigos. Verifique se há Duplicidade", vbInformation, "Cartão Registado"
    Cancel = True
    Me.Nome_Cartão.Text = ""
    End If
    End Sub


    .................................................................................
    *** Só sei que nada sei ***

      Data/hora atual: 15/12/2018, 09:39