MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

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


2 participantes

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

    MZapia
    MZapia
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  MZapia 13/10/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 (https://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
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  Noobezinho 14/10/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


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.

      Data/hora atual: 29/3/2024, 00:48