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

    [Resolvido]validade do documento

    avatar
    maryprego
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Angola
    Mensagens : 99
    Registrado : 16/07/2017

    [Resolvido]validade do documento Empty [Resolvido]validade do documento

    Mensagem  maryprego 18/7/2017, 13:35

    saudações a todos,

    estou com dificuldades de implementar esta função no formulario ou no relatório na bd access mas no excel consigo normalmente.

    exemplo é para dizer se o documento está ok, expirado ou alerta:
    diasrestante = datacaducidade - dataactual
    SE(diasrestante>30;"OK";SE(diasrestante<1;"Expirado!";SE(diastestante<=30;"Alerta")))

    alguém pode me ajudar.
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]validade do documento Empty Re: [Resolvido]validade do documento

    Mensagem  ronaldojr1 18/7/2017, 14:17

    bom dia,
    segue função no access

    Código:

    if diasrestante > 30 then
     seuCampo = "OK"
    else
        if diasrestante < 1 then
              seuCampo = "Expirado"
        else if diasrestante <= 30 then
              seuCampo = "Alerta"
        end if
    end if

    para essa função funcionar vc deve colocar ela em agum evento, por exemplo no evento ao carregar do formulário.
    Propriedades do formulario > guia evento > ao carregar > escolha "[Procedimento de evento]" e clique no botão "..."
    avatar
    maryprego
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Angola
    Mensagens : 99
    Registrado : 16/07/2017

    [Resolvido]validade do documento Empty Re: [Resolvido]validade do documento

    Mensagem  maryprego 19/7/2017, 18:20

    muito obrigado pelo retorno,
    a função de um dia para outro deixou de funcionar. ao inserir um novo funcionário e depois carregar o formulário Frm_boletimSanidade não está a calcular. também fiz outro teste, se colocar esta função no evento depois de actualizar, calcula normalmente mas quando a data actual alterar não calcular fica estático.

    agraço a vossa ajuda, segue a bd em anexo,
    Anexos
    [Resolvido]validade do documento Attachmentcaducidade_de_Documento.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (504 Kb) Baixado 17 vez(es)
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]validade do documento Empty Re: [Resolvido]validade do documento

    Mensagem  ronaldojr1 19/7/2017, 19:48

    boa tarde
    vamos la

    primeiro eu arrumei a funcao pq do jeito que estava nao caia na condição "expirou"

    segue codigo
    Código:

    txtDiasRestante = txtDataCaducidade - txtDataActual
    If txtDiasRestante > 30 Then
    txtEstado = "OK"
    Else
        If txtDiasRestante <= 30 And txtDiasRestante >= 1 Then
            txtEstado = "Alerta!"
        Else: If txtDiasRestante < 1 Then txtEstado = "Expirou!"
        End If
    End If

    depois vc coloca o mesmo codigo nos eventos:

    1- "No Atual" (esse evento fica nas propriedades do formulario)
    2- "Apos Atualizar" do campo txtDataCaducidade

    com isso o campo passa a ser calculado ao trocar o registro, quando o formulario abre(essa vc ja tinha feito) e apos atualizar a data de caducidade.


    avatar
    maryprego
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Angola
    Mensagens : 99
    Registrado : 16/07/2017

    [Resolvido]validade do documento Empty Re: [Resolvido]validade do documento

    Mensagem  maryprego 19/7/2017, 21:11

    excelente!!!
    avatar
    maryprego
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Angola
    Mensagens : 99
    Registrado : 16/07/2017

    [Resolvido]validade do documento Empty Re: [Resolvido]validade do documento

    Mensagem  maryprego 21/7/2017, 13:49

    saudação a todos,
    muito obrigado por dispensar o teu tempo precioso por me ajudar e ensinando/aprendendo amigo ronaldojr1.

    solicito a vossa ajuda: ao inserir uma caixa de listagem no frm_boletimsanidade os valores os campos diasrestante e estado não está atualizar na Caixa de listagem nem na tbl_boletimsanidade quando altera a data para o dia seguinte (simulei alterando a data do windows). fiz alguns testes colocando esta função no evento ao carregar no frm_boletimsanidade só atualiza o primeiro funcionário os demais fica estático. mas só calcula se eu navegar com os botões de navegação de registos. e posteriormente quando montar-se um relatório não acontece o mesmo.

    agradeço ajuda de todos.
    avatar
    maryprego
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Angola
    Mensagens : 99
    Registrado : 16/07/2017

    [Resolvido]validade do documento Empty Re: [Resolvido]validade do documento

    Mensagem  maryprego 23/7/2017, 16:27

    olá,
    alguém pode me ajudar na mensagem nº 6. como posso ultrapassar esta problema.
    segue a bd
    Anexos
    [Resolvido]validade do documento AttachmentCaducidade_de_docmentos.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (481 Kb) Baixado 16 vez(es)
    avatar
    maryprego
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Angola
    Mensagens : 99
    Registrado : 16/07/2017

    [Resolvido]validade do documento Empty Re: [Resolvido]validade do documento

    Mensagem  maryprego 25/7/2017, 14:11

    ola,
    já tentei vincular o campo data na tbl_BoletimSanidade sem resultado.
    alguém pode me ajudar na mensagem nº 6 por favor.
    agradeço.
    avatar
    maryprego
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Angola
    Mensagens : 99
    Registrado : 16/07/2017

    [Resolvido]validade do documento Empty Re: [Resolvido]validade do documento

    Mensagem  maryprego 27/7/2017, 11:59

    Up
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]validade do documento Empty Re: [Resolvido]validade do documento

    Mensagem  ronaldojr1 27/7/2017, 14:12

    bom dia
    desculpe a demora so vi hoje suas mensagens

    vamos la
    percebi que seu formulario esta com um comportamento que não pode acontecer

    sempre que o formulario abre e tambem quando o usuario clica no botao proximo estando no ultimo registro um novo registro em branco e criado.

    tenta corrigir isso e depois vc verifica se ainda nao esta calculando, no meu pc esta calculando a data normalmente.

    para corrigir o problema siga os passos

    1 - primeiro vai na sua tabela "Tbl_boletimSanidade" e exclui os registros em brancos.
    2 - Nas propriedades do formulario adicione o evento "antes de atualizar" e coloque o seguinte codigo:
    Código:

    If Len(Me.NomeFuncionario) = 0 Or IsNull(Me.NomeFuncionario) Then
        Cancel = 1
        Me.Undo
    End If

    3 - no evento "ao clicar" do botão "btnRSeguinte" retire a macro e substitua por "[Procedimento do Evento]" insira o seguinte codigo:
    Código:

    If Len(Me.NomeFuncionario) = 0 Or IsNull(Me.NomeFuncionario) Then
        MsgBox "Você chegou no último registro", vbInformation, "último registro"
        DoCmd.RunCommand acCmdRecordsGoToPrevious
        DoCmd.RunCommand acCmdRecordsGoToPrevious
    Else
        DoCmd.RunCommand acCmdRecordsGoToNext
    End If

    veja se so com isso resolve se nao resolver fale exatamente como vc fez para gerar o erro.

    boa sorte ai
    avatar
    maryprego
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Angola
    Mensagens : 99
    Registrado : 16/07/2017

    [Resolvido]validade do documento Empty Re: [Resolvido]validade do documento

    Mensagem  maryprego 28/7/2017, 10:45

    sou grato pela sua dedicação e esforço,
    fiz a devida correção conforme a dica.
    só para reforçar que, a data está a calcular e o estado também no meu pc mas só quando está sendo inserido novo registo ou alterando o registo. o problema é que quando a data do windows altera para o dia seguinte não atualiza os calculo na Tbl_BolemSanidade e na respectiva consulta ao abrir o Frm_BoletimSanidade.
    o problema esta ai amigo ronaldojr1.
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]validade do documento Empty Re: [Resolvido]validade do documento

    Mensagem  ronaldojr1 28/7/2017, 14:02

    a ta, agora entendi. nesse caso vc deve fazer uma função responsavel para recalcular todos os registros para ser executada quando o access abrir.

    siga os passos:

    1- crie um modulo com o nome que desejar, eu gosto de criar um modulo chamado mod_autoExecutavel e nesse modulo eu colocos todas minhas funções
       responsavel pelos procedimentos na abertura do access, mas a organização é sua então organize do jeito que achar melhor.rsrs
    2- cole as duas funções no módulo recem criado
       
    Código:

        Function autoExecutavel()
        updateStatusValidadeCaducidade
    End Function


    Function updateStatusValidadeCaducidade()

    Dim bc As Database
    Dim rs As Recordset
    Dim tempDiasRestante As Integer

    Set bc = CurrentDb
    Set rs = bc.OpenRecordset("SELECT DiasRestante, DataCaducidade,Estado FROM Tbl_BoletimSanidade") 'abre a tabela com os campos que iremos usar

    Do While Not rs.EOF

        rs.Edit
        tempDiasRestante = rs!DataCaducidade - Date
        rs!DiasRestante = tempDiasRestante
        If tempDiasRestante > 30 Then
            rs!Estado = "OK"
        Else
            If tempDiasRestante <= 30 And tempDiasRestante >= 1 Then
                rs!Estado = "Alerta!"
            Else: If tempDiasRestante < 1 Then rs!Estado = "Expirou!"
            End If
        End If
        rs.Update
        rs.MoveNext
    Loop
    Set bc = Nothing
    Set rs = Nothing

    End Function
        

    3 - cria uma macro com o nome "AutoExec"

    4 - na macro em adicionar nova ação escolha "Executar Codigo"

    5 - no nome da função coloque "autoExecutavel()"

    agora toda vez que o access abrir ele ira atualizar os campos [Estado e DiasRestante]
    avatar
    maryprego
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Angola
    Mensagens : 99
    Registrado : 16/07/2017

    [Resolvido]validade do documento Empty Re: [Resolvido]validade do documento

    Mensagem  maryprego 30/7/2017, 15:15

    cheers está a funfar, muito obrigado amigo ronaldojr1 pelo empenho.
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]validade do documento Empty Re: [Resolvido]validade do documento

    Mensagem  ronaldojr1 31/7/2017, 13:44

    disponha foi um prazer ajudar e o forum agradece o retorno

    Conteúdo patrocinado


    [Resolvido]validade do documento Empty Re: [Resolvido]validade do documento

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 23:56