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

    Duvidas com o Dirty

    Compartilhe
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    Duvidas com o Dirty

    Mensagem  Assis em Seg 16 Abr 2018, 23:41

    Boa noite Amigos

    Tenho o código abaixo para detetar se os dados do formulário foram alterados.

    Mas o código está a alterar os valores mesmo sem eles terem sido alterados.

    Basta abrir o Formulário e fechar com o botão "Comando32_Click()" .

    Agradecia uma ideia

    Obrigado

    '=========================================
    Código:
    Private Sub Comando32_Click()

    If Me.Dirty Then
    If MsgBox("Dados Alterados Deseja Salvar ?", vbYesNo, "Aviso") = vbNo Then
       Me.Undo

    Else

    Dim DB As Database, rs As Recordset
       Set DB = CurrentDb()
       Set rs = DB.OpenRecordset("Produtos", dbOpenDynaset)
       rs.FindFirst "sysid = " & sysId
       rs.Edit
     
       rs("Prod_Punit") = Me!Prod_PUnitC
       rs("PreçoVenda") = Me!Texto33
       rs("PreçoVendaiva") = Val(Me!Texto57)
       rs("margem") = Me!Margem
       rs("PreçoVendaSIVA") = Me.Texto61
       rs("Preçomanual") = Me.Manual
       rs("ACTUALIZADO") = Date
       rs.Update
       rs.Close
       Set rs = Nothing
       Set DB = Nothing

    End If
    End If


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1275
    Registrado : 21/01/2012

    Re: Duvidas com o Dirty

    Mensagem  Cláudio Más em Ter 17 Abr 2018, 03:49

    O código deveria servir.
    Verifique se existe código alterando o registro nos eventos "No atual" ou "No timer" ou "Ao carregar", etc.

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: Duvidas com o Dirty

    Mensagem  Noobezinho em Ter 17 Abr 2018, 11:00

    Assis

    Escreveste:


    Basta abrir o Formulário e fechar com o botão "Comando32_Click()" .


    O dirty só funciona quando se está no registro o mesmo é  alterado no formulário.

    Por isso o nome Dirty que aqui pra nós no Brasil é Em sujo, ou seja, quando se "sujou" o registro.

    Quando não se edita nada no formulário o dirty não ocorre,pois o registro está "limpo",

    quer dizer, sem alterações.

    [ ]'s
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5177
    Registrado : 15/03/2013

    Re: Duvidas com o Dirty

    Mensagem  ahteixeira em Seg 28 Maio 2018, 10:35

    Olá a todos,

    Assis, como ficou a situação?

    Seguindo a indicação do Cláudio Más, também pode ter um evento que grave os dados antes da chamada do botão "Comando32_Click()"

    Ficamos aguardar.

    Abraço a todos

      Data/hora atual: Ter 19 Jun 2018, 01:38