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

    Cancelar a inclusão de um registro no subformulário (*)

    Compartilhe
    avatar
    MZapia
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 10/10/2015

    Cancelar a inclusão de um registro no subformulário (*)

    Mensagem  MZapia em Ter 13 Out 2015, 15:41

    Bom dia,

    Estou com uma dúvida:

    Criei um form com subform, porém caso não queira salvá-lo, gostaria de cancelar o que foi feito anteriormente

    Segue o código abaixo:

    Private Sub cmdSalvar_Click()
    sql = "Select * from tbCotacaoDetalhe Where Cotacao=" & Me.ID_Cotacao

    Set db = CurrentDb
    Set rs = db.OpenRecordset(sql, dbOpenDynaset)

    If rs.EOF = True Then
       MsgBox "Não há itens na cotação! Verifique!", vbInformation, "RCM"
       cmdSalvar.SetFocus
       Exit Sub
    End If

    If MsgBox("Salvar cotação?", vbYesNo + vbQuestion, "RCM") = vbYes Then
    'Status
    Status = "Ag. Envio"
    Data = Data


    'Habilita e desabilita botões
       cmdEnviar.SetFocus
       cmdNovo.Enabled = False
       cmdEnviar.Enabled = True
       cmdCancelar.Enabled = True
       cmdExcluir.Enabled = False
       cmdFechar.Enabled = True
       cmdEditar.Visible = True
       cmdEditar.Enabled = True
       cmdSalvar.Visible = False
       cmdRevisar.Enabled = False
       cmdCancelarEdicao.Enabled = False

       'Bloqueia registros
       TravaCampos

       Me.Requery 'Atualiza formulário
       'DoCmd.GoToRecord , , acLast 'Vai para o último registro
       Forms![Lista de Cotação].Requery
       
       'DoCmd.Close acForm, "Cotação"

    Else
      Forms![DetalheCotacao].Undo - Erro 2450 (**) Subformulário - NÃO FUNCIONA
       Me.Undo 'Cancela as alterações do formulário (*) formulário principal - FUNCIONA

    End If
    End Sub



    PS: Li o tópico (http://www.maximoaccess.com/t8396-resolvidocancelar-inclusao-em-subformulario-com-campo-obrigatorio), e aplicando as sugestões, o formulário principal funciona, o que não está funcionando e está dando erro é o subformulário.

    Att.
    Marcelo Zapia
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2807
    Registrado : 29/06/2012

    Re: Cancelar a inclusão de um registro no subformulário (*)

    Mensagem  Noobezinho em Qua 14 Out 2015, 14:21

    Marcelo

    Experimente utilizar o me.Undo somente no form principal, se fez o relacionamento
    entre as tabelas desses dois formulário(principal e sub), de verá desfazer os dois
    simultaneamente.
    Isso vale (o uso de .Undo), para o registro que está sendo adicionado no momento,
    ou seja, foi preenchido o formulário, mas desistiu da ideia, então usa-se o undo.
    Para apagar um registro já gravado na tabela, deverá utilizar de código para deletar
    o registro.

    [ ]'s


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

      Data/hora atual: Qua 20 Set 2017, 20:53