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]Postergar data para próximo dia útil...

    avatar
    jpaulorh
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 04/02/2010

    [Resolvido]Postergar data para próximo dia útil... Empty [Resolvido]Postergar data para próximo dia útil...

    Mensagem  jpaulorh 10/8/2014, 16:17

    Ola amigos, estou com problema, eu diria um pouco complexo.

    O seu código Avelino,  ajudou bastante porém acontece o seguinte:

    Estou desenvolvendo um pequeno sistema de agendamento da clinica de minha esposa, ela é fisioterapeuta. Como na fisioterapia acontece o tratamento por número de seções gostaria de fazer esse agendamento em bloco. Colocaria a data do início, a hora ( essa se repetirá todos os dias ) e o número de sessões ( normalmente são 5 ou 10 ) e ao apertar no botão agendar ser feito o agendamento dos 10 dias de uma unica vez. Sendo que no caso dos feriados e finais de semana ser postergado ou antecipado conforme exemplo do grande Avelino.

    Usei esse código:

    If strParcelas <> 0 Then

    For I = 1 To strParcelas 'strParcelas
      rs.AddNew

      rs("Ag_Secao") = I
      rs("Ag_Data") = strData
      rs("Ag_Profissional") = strProf
      rs("Ag_Servico") = strServ
      rs("Ag_Convenio") = strConv
      rs("Ag_Tipo") = strTipo
      rs("Ag_Status") = "Marcado"
      rs("Ag_S") = "l"
      rs("Ag_CodAgenda") = Me.Ag_CodAgenda
      rs("Ag_Paciente") = strPaciente
     
      rs("Ag_Data") = fncAjustaData(DateAdd("d", I - 1, strData), IIf(Me!Quadro = 1, True, False))
     
      rs("Ag_Hora") = Me.Hora

      rs.Update

    Next
      rs.Close
      DB.Close
             
    End If

    Ele posterga a data, porém repete a mesma data tantas vezes quanto os dias q postergou Ex:

    07/08/2014   01
    08/08/2014   02
    Aqui ele executa e pula para o dia 11
    11/08/2014  03
    11/08/2014  04 deveria ser 12/08/2014 04
    11/08/2014  05 deveria ser 13/08/2014 05

    O problema está na minha variável data que assume um novo número e a variável "I" que adiciona aos dias que no exemplo considerando o número de seções. Será que fui claro?
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3883
    Registrado : 04/04/2010

    [Resolvido]Postergar data para próximo dia útil... Empty Re: [Resolvido]Postergar data para próximo dia útil...

    Mensagem  Avelino Sampaio 10/8/2014, 17:28

    Olá!

    Bom, pela lógica do código está correto gerar três sessões para a mesma data.

    Experimente algo assim:

    ...
    strdata = fncAjustaData(strdata, IIf(Me!Quadro = 1, True, False))
    rs("Ag_Data") = strdata
    strdata = stradata + 1
    ...

    Aguardamos


    Última edição por Avelino Sampaio em 13/8/2014, 09:59, editado 1 vez(es)


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    jpaulorh
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 04/02/2010

    [Resolvido]Postergar data para próximo dia útil... Empty Re: [Resolvido]Postergar data para próximo dia útil...

    Mensagem  jpaulorh 11/8/2014, 22:42

    Ola Avelino,

    Tentei de diversas formas mas não cheguei ao esperado...

    Segue o arquivo com o exemplo. Continua da mesma forma ao agendar as 10 seções de fisioterapia a partir da data inicial, qdo chega nos finais de ele continua repetindo tantos os dias quantos a função tenha postergado... Como já expliquei...

    Estou anexando o arquivo... Talvez assim fique mais fácil de entender...

    Agradeço antecipadamente pela ajuda...
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3883
    Registrado : 04/04/2010

    [Resolvido]Postergar data para próximo dia útil... Empty Re: [Resolvido]Postergar data para próximo dia útil...

    Mensagem  Avelino Sampaio 12/8/2014, 09:37

    Cadê o arquivo ?

    Aguardamos


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    jpaulorh
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 04/02/2010

    [Resolvido]Postergar data para próximo dia útil... Empty Re: [Resolvido]Postergar data para próximo dia útil...

    Mensagem  jpaulorh 12/8/2014, 12:47

    Desculpa, deu um erro na hora de anexar e não percebi. Estava anexando o arquivo com a extensão (.rar)

    Anexos
    [Resolvido]Postergar data para próximo dia útil... AttachmentAgenda.zip
    Agenda
    Você não tem permissão para fazer download dos arquivos anexados.
    (799 Kb) Baixado 48 vez(es)
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3883
    Registrado : 04/04/2010

    [Resolvido]Postergar data para próximo dia útil... Empty Re: [Resolvido]Postergar data para próximo dia útil...

    Mensagem  Avelino Sampaio 12/8/2014, 20:40

    Observe a sequência no formulário:

    [Resolvido]Postergar data para próximo dia útil... Jprh

    veja como ficou o código:

    For I = 1 To strParcelas 'strParcelas

    rs.AddNew
    rs("Ag_Secao") = I
    rs("Ag_Profissional") = strProf
    rs("Ag_Status") = "Marcado"
    rs("Ag_S") = "l"
    rs("Ag_CodAgenda") = Me.Ag_CodAgenda
    rs("Ag_Paciente") = strPaciente
    strData = fncAjustaData(strData, IIf(Me!Quadro = 1, True, False))
    rs("Ag_Data") = strData
    strData = strData + 1
    rs("Ag_Hora") = Me.Hora
    rs.Update
    Next


    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    jpaulorh
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 04/02/2010

    [Resolvido]Postergar data para próximo dia útil... Empty Re: [Resolvido]Postergar data para próximo dia útil...

    Mensagem  jpaulorh 13/8/2014, 13:44

    Muito obrigado Avelino!

    Minha cabeça tá muito perturbada mesmo, estava colocando dessa forma:

    strData = strData + I   ao invés de  strData = strData + 1

    Lia o código várias vezes e não percebia...

    Valeu!!!
    avatar
    jpaulorh
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 04/02/2010

    [Resolvido]Postergar data para próximo dia útil... Empty Re: [Resolvido]Postergar data para próximo dia útil...

    Mensagem  jpaulorh 20/8/2014, 21:57

    Perfeito, funcionou...
    Você sabe para quem desenvolve sempre surge algo inesperado, e agora como trata de uma clinica de fisioterapia veio a seguinte indagação.

    O agendamento funciona legal, só que existe clientes que não vêem todo os dias mas sim dias alternados...

    Por exemplo:

    Segunda / Quarta / Sexta

    O agendamento deve sempre saltar um dia quando a opção selecionada for dias alternados. Quando a opção for dias normais o agendamento deve funcionar como está, todos os dias.

    A opção antecipar ou postergar em casos de final de semana e feriado que requer no código já deixei padrão "postergar".

    Criei um novo quadro com as opções "dias normais" ( nesse caso o agendamento funcionaria todos os dias ) e "dias alternados" ( nesse caso agendaria um dia sim/ outro não - tipo segunda, quarta e sexta ou terça e quinta... Sempre respeitando a regra dos feriados e finais de semana.

    Quando concluir essa agenda irei postar no repositório de exemplos...

    [Resolvido]Postergar data para próximo dia útil... C:\agenda
    avatar
    jpaulorh
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 04/02/2010

    [Resolvido]Postergar data para próximo dia útil... Empty Re: [Resolvido]Postergar data para próximo dia útil...

    Mensagem  jpaulorh 22/8/2014, 13:25

    Definitivamente resolvi todas as situações...

    Obrigado a todos...

    Conteúdo patrocinado


    [Resolvido]Postergar data para próximo dia útil... Empty Re: [Resolvido]Postergar data para próximo dia útil...

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 10/5/2024, 17:48