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]Botão cancelar no subform

    avatar
    digitaltec
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 09/05/2020

    [Resolvido]Botão cancelar no subform Empty [Resolvido]Botão cancelar no subform

    Mensagem  digitaltec em 20/6/2020, 03:47

    Olá pessoal tenho um formulário que nele possui um subform no formulário principal coloquei o botão cancelar nele coloquei o comando me.undo só que o mesmo nao faz efeito no subform pesquisando aqui no forum encontrei o comando:
    Private Sub SeuBotaoResetAlteracoes_Click()
    'Desfaz as alterações do form
    Me.Undo
    'Envia o foco para o subform
    Forms!SeuForm.SeuSubForm.SetFocus
    'Desfaz as alterações do subform
    DoCmd.RunCommand (acCmdUndo)
    End Sub

    Com esse comando só funciona se tiver algo para ser desfeito no subform caso contrario ele volta um erro dizendo que a opção desfazer nao esta disponível no momento.

    Algum dos amigos teria uma solução ? Desde já obrigado a todos
    avatar
    digitaltec
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 09/05/2020

    [Resolvido]Botão cancelar no subform Empty Re: [Resolvido]Botão cancelar no subform

    Mensagem  digitaltec em 20/6/2020, 12:09

    Dando uma analisada percebi o seguinte se eu criar um botão desfaz dentro do subform e colocar nele o Me.undo ele vai desfaz o que foi feito no subform ao clicar, então agora eu preciso que ao clicar no botão desfaz que esta no form principal além dele executar o me.undo ele clique no botão desfaz que esta dentro do subform, existe algum comando pra isso ?
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2097
    Registrado : 22/11/2016

    [Resolvido]Botão cancelar no subform Empty Re: [Resolvido]Botão cancelar no subform

    Mensagem  DamascenoJr. em 20/6/2020, 13:06

    Enquanto o formulário principal vai sendo alterado é possível desfazer as alterações. Porém ao mudar o foco para o subformulário, as informações do formulário principal são salvas automaticamente. Isso acontece para que um registro seja criado/atualizado e assim os registros do subformulário possam ser vinculados a ele.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    digitaltec
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 09/05/2020

    [Resolvido]Botão cancelar no subform Empty Re: [Resolvido]Botão cancelar no subform

    Mensagem  digitaltec em 20/6/2020, 13:13

    então nao existe uma maneira de desfazer o que foi feito no subform clicando em desfazer no form principal ?

    Desde já obrigado pela atenção
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2097
    Registrado : 22/11/2016

    [Resolvido]Botão cancelar no subform Empty Re: [Resolvido]Botão cancelar no subform

    Mensagem  DamascenoJr. em 20/6/2020, 13:32

    A lógica é a mesma.

    Se você estiver inserindo ou editando informações no subformulário e mudar o foco para outro registro do subformulário ou para um botão de desfazer no formulário principal então o registro que você estava trabalhando é salvo automaticamente. No caso do foco para o botão desfazer no formulário principal, o registro primeiro é salvo antes da ação desfazer ser executada. E sendo salvo, não é possível mais ser desfeito.

    Para manter esse estado de poder desfazer tudo que foi feito só sendo por formulários desvinculados. E isso exige mais código pois perde-se os benefícios dos vínculos.

    É um trabalho que não compensa se for só para garantir a ação de desfazer.

    Como alternativa, se for na adição de um novo registro, pode escolher a ação de excluir.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    digitaltec
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 09/05/2020

    [Resolvido]Botão cancelar no subform Empty Re: [Resolvido]Botão cancelar no subform

    Mensagem  digitaltec em 20/6/2020, 14:58

    Entendi perfeitamente, obrigado
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2097
    Registrado : 22/11/2016

    [Resolvido]Botão cancelar no subform Empty Re: [Resolvido]Botão cancelar no subform

    Mensagem  DamascenoJr. em 20/6/2020, 15:59

    Faltou o resolvido do tópico. Aguardamos sua ação.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    digitaltec
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 09/05/2020

    [Resolvido]Botão cancelar no subform Empty Re: [Resolvido]Botão cancelar no subform

    Mensagem  digitaltec em 20/6/2020, 16:18

    nao consegui solucionar mais valeu pela explicação clara do DamascenoJr.
    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1199
    Registrado : 07/12/2011

    [Resolvido]Botão cancelar no subform Empty Re: [Resolvido]Botão cancelar no subform

    Mensagem  tauron em 23/6/2020, 13:52

    Não sei como é seu projeto, crie uma tabela temporária tipo tblSub1Temp, com todos os campos, e vincule seu subformulário a ela.

    no vba do formulário principal coloque o código abaixo:

    Código:
    Sub LimpaTemporario()
    CurrentDb.Execute "DELETE * FROM tblSub1Temp"
    End Sub

    E, no botão "Cancelar", acrescente:
    LimpaTemporario
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2097
    Registrado : 22/11/2016

    [Resolvido]Botão cancelar no subform Empty Re: [Resolvido]Botão cancelar no subform

    Mensagem  DamascenoJr. em 23/6/2020, 22:11

    Tauron, e pra passar pra tabela definitiva?


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1199
    Registrado : 07/12/2011

    [Resolvido]Botão cancelar no subform Empty Re: [Resolvido]Botão cancelar no subform

    Mensagem  tauron em 23/6/2020, 23:21

    Boa noite Damasceno,

    Estava justamente trabalhando em um projeto e respondi pensando somente no botão "cancelar" e, esqueci da questão do botão "salvar". Embarassed

    Como eu disse não sei como é o formulário do amigo mas, imaginando ser: o form principal desvinculado e o sub vinculado a uma tabela, criei uma tabela temporária (tblTemp) a qual vinculei o sub. desta maneira, ao preencher o sub, ele estão alimentando a tblTemp e não a tabela PRINCIPAL. Ao clicar no botao "cancelar" ele limpa os campos do form principal e deleta os dados da tblTemp sem prejuizo dos dados na tbl Principal.

    Pensando em um formulário desvinculado o Código Salvar, também deverá ter ao seu final a linha "LimpaTemporário".

    Para exemplificar melhor olhe neste poste meu:

    https://www.maximoaccess.com/t36873-resolvidoimpedir-duplicidade-de-datas

      Data/hora atual: 5/7/2020, 08:36