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

    Criar regra lançamento em registro

    Compartilhe

    wmantovani
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 111
    Registrado : 06/09/2011

    Criar regra lançamento em registro

    Mensagem  wmantovani em Seg 22 Set 2014, 13:15

    Bom dia pessoal,

    Tenho o seguinte codifo em um botão que funciona perfeitamente, porem preciso implantar uma regra com aviso onde após atualizar o campo DATAVISTORIA nao permita o valor menor que o campo ( DATAENVIO, da tabela tblControleNotificações)...ja tentei algumas coisas aqui mas estou apanhando...


    Private Sub Comando128_Click()
    'DoCmd.SetWarnings False 'tirar avisos do acces
    Refresh
    DoCmd.RunSQL "INSERT INTO [tblLancamentoDocumentos] (CODIGO, PROCESSO, PROCESSO_OU_SOL, NOME, NOMEFISCAL, LOGNOME, LOGHORAEDATA, DATAVISTORIA, HORAVISTORIA, DOCUMENTO, NDOCUMENTO, OCORRENCIA, PRAZO)" & _
    "SELECT [Formulários]![subformDevolucao]![CODIGO] AS CODIGO" & _
    ",[Formulários]![subformDevolucao]![PROCESSO] AS PROCESSO" & _
    ",[Formulários]![subformDevolucao]![PROCESSO_OU_SOL] AS PROCESSO_OU_SOL" & _
    ",[Formulários]![subformDevolucao]![NOME] AS NOME" & _
    ",[Formulários]![LOGADO]![Usuário] AS NOMESFICAL" & _
    ",[Formulários]![LOGADO]![Usuário] AS LOGNOME" & _
    ",Date() AS LOGHORAEDATA" & _
    ",[Formulários]![subformDevolucao]![DATAVISTORIA] AS DATAVISTORIA" & _
    ",[Formulários]![subformDevolucao]![HORAVISTORIA] AS HORAVISTORIA" & _
    ",[Formulários]![subformDevolucao]![DOCUMENTO] AS DOCUMENTO" & _
    ",[Formulários]![subformDevolucao]![NDOCUMENTO] AS NDOCUMENTO" & _
    ",[Formulários]![subformDevolucao]![OCORRENCIA] AS OCORRENCIA" & _
    ",[Formulários]![subformDevolucao]![PRAZO] AS PRAZO"
    DoCmd.SetWarnings True 'recoloca avisos do access
    MsgBox "Registrado com sucesso !"
    Me.OCORRENCIA = Empty
    Refresh
    End Sub


    Desde já agradeço antecipadamente..


    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6260
    Registrado : 05/11/2009

    Re: Criar regra lançamento em registro

    Mensagem  Alexandre Neves em Seg 22 Set 2014, 19:24

    Boa noite,
    Não estudei o código mas quer que a verificação seja após a actualização? Se for antes, pode executar ou não; se for depois, será tarde para não executar


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    wmantovani
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 111
    Registrado : 06/09/2011

    Re: Criar regra lançamento em registro

    Mensagem  wmantovani em Seg 22 Set 2014, 19:44

    No evento após atualizar. Se a regra não atender a mensagem valor inválido
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6260
    Registrado : 05/11/2009

    Re: Criar regra lançamento em registro

    Mensagem  Alexandre Neves em Seg 22 Set 2014, 20:31

    Nomeie os controlos de forma normalizada.
    Private Sub Comando128_Click()
    'DoCmd.SetWarnings False 'tirar avisos do acces
    Refresh
    if [Formulários]![subformDevolucao]![DATAVISTORIA]msgbox "mensagem..."
    else
    DoCmd.RunSQL "INSERT INTO [tblLancamentoDocumentos] (CODIGO, PROCESSO, PROCESSO_OU_SOL, NOME, NOMEFISCAL, LOGNOME, LOGHORAEDATA, DATAVISTORIA, HORAVISTORIA, DOCUMENTO, NDOCUMENTO, OCORRENCIA, PRAZO)" & _
    "SELECT [Formulários]![subformDevolucao]![CODIGO]" & _
    ",[Formulários]![subformDevolucao]![PROCESSO]" & _
    ",[Formulários]![subformDevolucao]![PROCESSO_OU_SOL]" & _
    ",[Formulários]![subformDevolucao]![NOME]" & _
    ",[Formulários]![LOGADO]![Usuário]" & _
    ",[Formulários]![LOGADO]![Usuário]" & _
    ",Date()" & _
    ",[Formulários]![subformDevolucao]![DATAVISTORIA]" & _
    ",[Formulários]![subformDevolucao]![HORAVISTORIA]" & _
    ",[Formulários]![subformDevolucao]![DOCUMENTO]" & _
    ",[Formulários]![subformDevolucao]![NDOCUMENTO]" & _
    ",[Formulários]![subformDevolucao]![OCORRENCIA]" & _
    ",[Formulários]![subformDevolucao]![PRAZO]"
    DoCmd.SetWarnings True 'recoloca avisos do access
    MsgBox "Registrado com sucesso !"
    Me.OCORRENCIA = Empty
    Refresh
    end if
    End Sub


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    wmantovani
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 111
    Registrado : 06/09/2011

    Re: Criar regra lançamento em registro

    Mensagem  wmantovani em Seg 22 Set 2014, 21:22

    Caro Alexandre acho que me expressei mau...

    É o seguinte, tenho um formulário filtrado desacoplando com somente o dado que eu quero no momento.

    a tabela que da origem a esses dados chama-se tblControleNotificações, e possui os seguintes campos:

    CODIGO;PROCESSO;PROCESSO_OU_SOL;NOME;ATENDIDO;AGENTE;LOGNOME;LOGHORAEDATA;DATAENVIO;DATAVISTORIA;AGENTELANCAMENTO

    o formulário chama-se subformDevolucao

    preciso que ao atualizar o campo DATAVISTORIA ele verifique se a data é maior que o campo DATAENVIO da tabela tblControleNotificações, com o campo CODIGO, que identifica o registro certo, se for maior ele roda o código abaixo

    DoCmd.RunSQL "INSERT INTO [tblLancamentoDocumentos] (CODIGO, PROCESSO, PROCESSO_OU_SOL, NOME, NOMEFISCAL, LOGNOME, LOGHORAEDATA, DATAVISTORIA, HORAVISTORIA, DOCUMENTO, NDOCUMENTO, OCORRENCIA, PRAZO)" & _
    "SELECT [Formulários]![subformDevolucao]![CODIGO] AS CODIGO" & _
    ",[Formulários]![subformDevolucao]![PROCESSO] AS PROCESSO" & _
    ",[Formulários]![subformDevolucao]![PROCESSO_OU_SOL] AS PROCESSO_OU_SOL" & _
    ",[Formulários]![subformDevolucao]![NOME] AS NOME" & _
    ",[Formulários]![LOGADO]![Usuário] AS NOMESFICAL" & _
    ",[Formulários]![LOGADO]![Usuário] AS LOGNOME" & _
    ",Date() AS LOGHORAEDATA" & _
    ",[Formulários]![subformDevolucao]![DATAVISTORIA] AS DATAVISTORIA" & _
    ",[Formulários]![subformDevolucao]![HORAVISTORIA] AS HORAVISTORIA" & _
    ",[Formulários]![subformDevolucao]![DOCUMENTO] AS DOCUMENTO" & _
    ",[Formulários]![subformDevolucao]![NDOCUMENTO] AS NDOCUMENTO" & _
    ",[Formulários]![subformDevolucao]![OCORRENCIA] AS OCORRENCIA" & _
    ",[Formulários]![subformDevolucao]![PRAZO] AS PRAZO"
    DoCmd.SetWarnings True 'recoloca avisos do access
    MsgBox "Registrado com sucesso !"
    Me.OCORRENCIA = Empty
    Refresh
    End Sub

    se for menor emite aviso que o valor é invalido

    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6260
    Registrado : 05/11/2009

    Re: Criar regra lançamento em registro

    Mensagem  Alexandre Neves em Seg 22 Set 2014, 21:36

    Coloque no acontecimento AposActualizar do controlo de data
    if [Formulários]![subformDevolucao]![DATAVISTORIA]> dlookup("DATAENVIO","tblControleNotificações","CODIGO=" & ControloCodigoNoFormulario) then
    DoCmd.execute "INSERT INTO [tblLancamentoDocumentos] (CODIGO, PROCESSO, PROCESSO_OU_SOL, NOME, NOMEFISCAL, LOGNOME, LOGHORAEDATA, DATAVISTORIA, HORAVISTORIA, DOCUMENTO, NDOCUMENTO, OCORRENCIA, PRAZO)" & _
    "SELECT [Formulários]![subformDevolucao]![CODIGO]" & _
    ",[Formulários]![subformDevolucao]![PROCESSO]" & _
    ",[Formulários]![subformDevolucao]![PROCESSO_OU_SOL]" & _
    ",[Formulários]![subformDevolucao]![NOME]" & _
    ",[Formulários]![LOGADO]![Usuário]" & _
    ",[Formulários]![LOGADO]![Usuário]" & _
    ",Date()" & _
    ",[Formulários]![subformDevolucao]![DATAVISTORIA]" & _
    ",[Formulários]![subformDevolucao]![HORAVISTORIA]" & _
    ",[Formulários]![subformDevolucao]![DOCUMENTO]" & _
    ",[Formulários]![subformDevolucao]![NDOCUMENTO]" & _
    ",[Formulários]![subformDevolucao]![OCORRENCIA]" & _
    ",[Formulários]![subformDevolucao]![PRAZO]"
    end if


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    wmantovani
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 111
    Registrado : 06/09/2011

    Re: Criar regra lançamento em registro

    Mensagem  wmantovani em Seg 22 Set 2014, 21:55

    Consegui resolver, troquei a palavra formulários por form e foi, achei que nao tinha problema pelo access estar em pt-br, mas enfim valeu mesmo...grato

      Data/hora atual: Qui 27 Jul 2017, 09:41