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

3 participantes

    Formulário desvinculado não lê as instruções que estão em Form_Dirty

    mfmaiafilho
    mfmaiafilho
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 394
    Registrado : 02/08/2018

    Formulário desvinculado não lê as instruções que estão em Form_Dirty Empty Formulário desvinculado não lê as instruções que estão em Form_Dirty

    Mensagem  mfmaiafilho 14/4/2021, 18:36

    Srs. boa tarde!

    estou tentando fazer um formulario desvinculado porém o meu grande problema é que a instrução que eu tenho em Form_Dirty ele não ler pois não tem campos vinculados a nenhuma tabela.

    como faço pra isso acontecer ?
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1777
    Registrado : 13/12/2016

    Formulário desvinculado não lê as instruções que estão em Form_Dirty Empty Re: Formulário desvinculado não lê as instruções que estão em Form_Dirty

    Mensagem  Alexandre Fim 14/4/2021, 18:57

    Olá Mizael,

    Qual seria a necessidade de utilizar o evento Dirty do formulário, já que ele é utilizado em formulário vinculados e vc quer criar um form desvinculado?
    Quais as instruções necessárias que vc utilizava no Dirty?

    []'s


    FIM



    mfmaiafilho
    mfmaiafilho
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 394
    Registrado : 02/08/2018

    Formulário desvinculado não lê as instruções que estão em Form_Dirty Empty Re: Formulário desvinculado não lê as instruções que estão em Form_Dirty

    Mensagem  mfmaiafilho 15/4/2021, 01:18

    A inteção é essa:

    Ativar botões de salvar/desfazer

    consegui desfazer ou limpar o formulário tipo Form.Undo

    o que entendo de formulário desacoplado é que da Fonte de Dados não tem uma tabela apontada e nem uma consulta,

    os campos também estão sem fonte de registro

    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1777
    Registrado : 13/12/2016

    Formulário desvinculado não lê as instruções que estão em Form_Dirty Empty Re: Formulário desvinculado não lê as instruções que estão em Form_Dirty

    Mensagem  Alexandre Fim 15/4/2021, 16:17

    Olá Mizael,

    Alguns anos atrás, eu disponibilizei neste fórum um exemplo de Cadastro de Cliente com os controles desvinculados/desacoplados à tabela.
    Reformulei algumas funções e também fiz os comentários em cada rotina do formulário (quase todas...rss)

    Segue:
    Formulário desvinculado não lê as instruções que estão em Form_Dirty Cadcli14


    Neste cadastro, ele faz as seguintes validações:
    - Validação dos campos preenchidos (não fiz todos...ai fica a critério do usuário em melhorar essa rotina)
    - Validação de CPF/CNPJ
    - Validação de inscrição Estadual
    - Verificação de CPF/CNPJ já cadastrado
    - Validação do preenchimento correto do e-mail
    - Função de geração automática de ID (a tabela não possui campo de Numeração Automática)
    - Preenchimento do Endereço através da API dos Correios, que realiza a busca no ViaCEP.
    - Tela de pesquisa (básica)

    Acredito que este cadastro possa te ajudar no que pretende.

    Espero ter ajudado.

    Boa sorte

    []'s

    FIM
    Anexos
    Formulário desvinculado não lê as instruções que estão em Form_Dirty AttachmentCadCliente.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (101 Kb) Baixado 19 vez(es)

    Marcelo David gosta desta mensagem

    mfmaiafilho
    mfmaiafilho
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 394
    Registrado : 02/08/2018

    Formulário desvinculado não lê as instruções que estão em Form_Dirty Empty Re: Formulário desvinculado não lê as instruções que estão em Form_Dirty

    Mensagem  mfmaiafilho 5/5/2021, 01:02

    Boa noite amigo,

    perdão por não responder, eu vi seu exemplo muito bom inclusive peguei varias coisas do seu e já adaptei no meu

    mas infelizmente acredito que precise de algo que faça uma comparação com o registro do formulário e o registro da tabela e verificar se teve alteração....
    ou algo do tipo, eu utilizava anteriormente o exemplo abaixo porém com formulario vinculado.


    Exemplo:

    If Form.Dirty = False Then
    DoCmd.Close
    Else
    strmsg = "Você não salvou as alterações realizadas." & vbCrLf & " " & vbCrLf & "Deseja salvar antes de sair?"
    iResponse = MsgBox(strmsg, vbQuestion + vbYesNoCancel, "Sistema")

    If iResponse = vbYes Then
    INSERT INTO TBL_EXEMPLO X,X,X,X,X VALUES X,X,X,X,X
    End If
    mfmaiafilho
    mfmaiafilho
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 394
    Registrado : 02/08/2018

    Formulário desvinculado não lê as instruções que estão em Form_Dirty Empty Re: Formulário desvinculado não lê as instruções que estão em Form_Dirty

    Mensagem  mfmaiafilho 5/5/2021, 12:27

    up....
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1777
    Registrado : 13/12/2016

    Formulário desvinculado não lê as instruções que estão em Form_Dirty Empty Re: Formulário desvinculado não lê as instruções que estão em Form_Dirty

    Mensagem  Alexandre Fim 5/5/2021, 14:07

    Mizael bom dia,

    Referente ao seu comentário:


    mas infelizmente acredito que precise de algo que faça uma comparação com o registro do formulário e o registro da tabela e verificar se teve alteração....
    ou algo do tipo, eu utilizava anteriormente o exemplo abaixo porém com formulario vinculado.


    Quando é carregado os dados na tela, os dados da tabela estão intactos, mesmo que o usuário esteja alterando algum dado do registro no formulário.
    A alteração será efetivada na tabela quando ele clicar no botão gravar.
    É assim que funciona!
    Portanto, não é necessário fazer essa validação.

    No exemplo que te mandei, tem os comandos:
    - Editar: nele possui uma variável que indica se é uma atualização à ser realizada, ou seja, um UPDATE na tabela.
    - Novo: nele possui uma variável que indica se é uma inclusão à ser realizada, ou seja, um INSERT na tabela.

    Se teve alteração ou não do registro , executa a gravação do registro.
    Simples assim.



    []'s

    FIM
    mfmaiafilho
    mfmaiafilho
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 394
    Registrado : 02/08/2018

    Formulário desvinculado não lê as instruções que estão em Form_Dirty Empty Re: Formulário desvinculado não lê as instruções que estão em Form_Dirty

    Mensagem  mfmaiafilho 5/5/2021, 15:10

    Bom dia amigo,
    Até entendo sua colocação, postei o cenário abaixo para melhor entendimento,

    Veja a janela, se eu clicar no botão Fechar ele apenas fecha sem perguntar se eu quero salvar ou não.
    Formulário desvinculado não lê as instruções que estão em Form_Dirty Sem_al10

    Já ao alterar alguma letra ou algo ele libera o Botão Salvar, e Desfazer e se eu clicar no Botão Fechar, ele me faz a pergunta "Deseja Salvar"
    Formulário desvinculado não lê as instruções que estão em Form_Dirty Com_al10
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1777
    Registrado : 13/12/2016

    Formulário desvinculado não lê as instruções que estão em Form_Dirty Empty Re: Formulário desvinculado não lê as instruções que estão em Form_Dirty

    Mensagem  Alexandre Fim 5/5/2021, 16:09

    Mas este formulário é com os campos Acoplados à tabela?
    mfmaiafilho
    mfmaiafilho
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 394
    Registrado : 02/08/2018

    Formulário desvinculado não lê as instruções que estão em Form_Dirty Empty Re: Formulário desvinculado não lê as instruções que estão em Form_Dirty

    Mensagem  mfmaiafilho 5/5/2021, 16:17

    Não, esse é apenas um exemplo de um sistema que não é access.

    Eu pensei em algo e não sei como fazer,

    "Ao digitar no form" tipo criar algo em "Ao Pressionar Teclas" dentro do formulario daí ele libera o botão salvar e desfazer, e se caso o usuário pressionar fechar ele pergunta se deseja salvar ou não

    caso ele não digite nada no formulario ele não pergunta na hora de fechar o form, e também não libera os botões de salvar e desfazer,

    só que é "como fazer" aushdashdu
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1777
    Registrado : 13/12/2016

    Formulário desvinculado não lê as instruções que estão em Form_Dirty Empty Re: Formulário desvinculado não lê as instruções que estão em Form_Dirty

    Mensagem  Alexandre Fim 5/5/2021, 16:51

    Provavelmente, é VB6
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às regras : Respeito às Regras 100%

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

    Formulário desvinculado não lê as instruções que estão em Form_Dirty Empty Re: Formulário desvinculado não lê as instruções que estão em Form_Dirty

    Mensagem  Assis 5/5/2021, 17:41

    Boa tarde

    Teste e retorne. De momento só deteta o campo "Nome" como alterado. se gostar tem de fazer como está no campo nome "Ao Alterar"

    - Selecione o cliente a alterar.

    - Altere o nome (de momento só esse campo é detetado).

    - Altere o nome do cliente, e clique em "Sair" ou "Gravar"

    Aguardo
    Anexos
    Formulário desvinculado não lê as instruções que estão em Form_Dirty AttachmentCadCliente_Rev.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (192 Kb) Baixado 5 vez(es)


    .................................................................................
    *** Só sei que nada sei ***
    mfmaiafilho
    mfmaiafilho
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 394
    Registrado : 02/08/2018

    Formulário desvinculado não lê as instruções que estão em Form_Dirty Empty Re: Formulário desvinculado não lê as instruções que estão em Form_Dirty

    Mensagem  mfmaiafilho 5/5/2021, 17:59

    eu só não entendi muito bem....

    If Nz(Me!txtnomecli) <> Nz(Me!txtnomecli.Text) Then fncPintaTexto (255)

    poderia me explicar um pouco melhor o que a Função Nz faz ?

    ela busca as informações da tabela ?

    Eu leio esse código Se O campo txtNomecli é diferente do mesmo campo então chama fncpintatexto(255)

    se eu não estou enganado....
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às regras : Respeito às Regras 100%

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

    Formulário desvinculado não lê as instruções que estão em Form_Dirty Empty Re: Formulário desvinculado não lê as instruções que estão em Form_Dirty

    Mensagem  Assis 5/5/2021, 18:10

    Quando é diferente pinta de vermelho.
    A partir daí é que deteta que teve alteração.

    Altere outro campo por exemplo endereço e veja se pinta a vermelho ?



    .................................................................................
    *** Só sei que nada sei ***
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1777
    Registrado : 13/12/2016

    Formulário desvinculado não lê as instruções que estão em Form_Dirty Empty Re: Formulário desvinculado não lê as instruções que estão em Form_Dirty

    Mensagem  Alexandre Fim 5/5/2021, 19:45

    Mizael,

    Fiz um exemplo que simula a propriedade Dirty do formulário.
    Ao abrir o formulário, no campo código, digite 1 e o sistema ira carregar os dados na tela
    Edite qualquer campo que seja diferente do  "Cod" , e o que for diferente dos dados originais carregado, habilita o botão Gravar.

    Cara?
    É um trabalho desnecessário, pq vc tem que fazer em todos os campos do formulário.
    Ou criar uma função que verifica qual o controle que vc alterou para ele executar a Validação de dados.

    Boa sorte

    []'

    FIM
    Anexos
    Formulário desvinculado não lê as instruções que estão em Form_Dirty AttachmentExemploDirty.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (36 Kb) Baixado 5 vez(es)
    mfmaiafilho
    mfmaiafilho
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 394
    Registrado : 02/08/2018

    Formulário desvinculado não lê as instruções que estão em Form_Dirty Empty Re: Formulário desvinculado não lê as instruções que estão em Form_Dirty

    Mensagem  mfmaiafilho 5/5/2021, 21:01

    Srs. a ajuda tá sendo mto util de ambos os lados vou postar meu exemplo pra ver se conseguimos fazer algo....

    só pra resumir, eu tenho duas variaveis globais Boolean
    uma gSujarForm e outra gNovoReg
    Eu fiz assim, ao pressionar uma tecla ele liberar os botões btn_salvar, btn_desfazer, e perguntar no btn_fechar...

    Código:
    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

        gSujarForm = True
        
        If gSujarForm = True Then
            Me.btn_novo.Enabled = False
            Me.btn_salvar.Enabled = True
            Me.btn_desfazer.Enabled = True
        End If


    o que eu não consegui foi adaptar o exemplo de vocês no meu banco....
    Anexos
    Formulário desvinculado não lê as instruções que estão em Form_Dirty Attachmentalpha.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (749 Kb) Baixado 11 vez(es)
    mfmaiafilho
    mfmaiafilho
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 394
    Registrado : 02/08/2018

    Formulário desvinculado não lê as instruções que estão em Form_Dirty Empty Re: Formulário desvinculado não lê as instruções que estão em Form_Dirty

    Mensagem  mfmaiafilho 5/5/2021, 21:22

    seria bem interessante se usasse essa configuração pra todos os campos do formulário, o grande problema é que se fizer de um por um da muito código...

    o grande problema é que todo campo precisa colocar ao Alterar ....

    Private Sub NOME_DO_CAMPO_Change()
    Call Variavel
    End Sub

    Function Variavel()
       gSujarForm = True
       
       If gSujarForm = True Then
           Me.btn_novo.Enabled = False
           Me.btn_salvar.Enabled = True
           Me.btn_desfazer.Enabled = True
       End If
    End Sub
    End Function

      Data/hora atual: 21/9/2021, 03:46