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 : 3014
    Registrado : 06/11/2009

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

    Mensagem  Assis em Sex 20 Out 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
    Developer
    Developer

    Respeito às Regras 100%

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

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

    Mensagem  CassioFabre em Sex 20 Out 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 : 3014
    Registrado : 06/11/2009

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

    Mensagem  Assis em Sex 20 Out 2017, 13:58

    Cassio

    Já tinha tentado

    Obrigado

    [Você precisa estar registrado e conectado para ver este link.]


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

    Respeito às Regras 100%

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

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

    Mensagem  CassioFabre em Sex 20 Out 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 : 3014
    Registrado : 06/11/2009

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

    Mensagem  Assis em Sex 20 Out 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
    Developer
    Developer

    Respeito às Regras 100%

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

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

    Mensagem  CassioFabre em Seg 23 Out 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 : 3014
    Registrado : 06/11/2009

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

    Mensagem  Assis em Seg 23 Out 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 : 710
    Registrado : 01/03/2014

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

    Mensagem  Celso Roberto em Seg 23 Out 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 : 3014
    Registrado : 06/11/2009

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

    Mensagem  Assis em Seg 23 Out 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 : 710
    Registrado : 01/03/2014

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

    Mensagem  Celso Roberto em Seg 23 Out 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 : 3014
    Registrado : 06/11/2009

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

    Mensagem  Assis em Seg 23 Out 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 : 710
    Registrado : 01/03/2014

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

    Mensagem  Celso Roberto em Seg 23 Out 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 : 710
    Registrado : 01/03/2014

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

    Mensagem  Celso Roberto em Ter 24 Out 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 : 3014
    Registrado : 06/11/2009

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

    Mensagem  Assis em Ter 24 Out 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: Ter 21 Nov 2017, 17:36