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


5 participantes

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    avatar
    viniciuusmello
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 28/02/2021

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  viniciuusmello 4/3/2021, 21:18

    Boa noite a todos!
    Primeiramente, meu agradecimento ao fórum como um todo, estou aprendendo todos os dias com vocês.

    Bom, gostaria de solicitar uma ajuda que não encontrei em nenhum tópico (me perdoem se deixei passar).

    Estou elaborando um BD para uma Clinica Psicológica e gostaria de automatizar um aspecto na Agenda de Atendimentos.

    Eu possuo um formulário vinculado a uma tabela de agendamento para cadastrar os campos: NomePaciente, IDPaciente (relacionado a tabela principal de cadastro), DataAtendimento, HoraAtendimento.

    Como as consultas psicológicas são semanais, seria bastante otimizador se houvesse uma maneira de gerar diversos registros com o mesmo horário e diferentes datas baseadas no mesmo dia da semana. Por exemplo: Todas as Terças-feiras - 10:00 - Paciente X.
    Isso poderia ser feito com um botão, uma checkbox, não sei qual seria a melhor forma, e abranger um espaço de tempo X, como um mês (preferencialmente), um semestre, um ano, enfim.

    Isso substituiria a necessidade de lançar semana a semana, manualmente, pacientes fixos daquele dia e horário.

    Existe a possibilidade de fazer algo nesse sentido?

    Qualquer dúvida, estou a disposição.
    Já agradeço a ajuda e disponibilidade de quem puder contribuir.

    Abraço
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  Alexandre Fim 4/3/2021, 21:44

    Olá Vinicius,

    Sim, é possível.

    Vou elaborar um pequeno modelo pra vc e depois eu posto aqui.

    Abs.


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Setinf11
    Sistemas e Tecnologia Ltda

    viniciuusmello gosta desta mensagem

    avatar
    viniciuusmello
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 28/02/2021

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  viniciuusmello 4/3/2021, 22:50

    Muito obrigado, Alexandre!
    Vou ficar aguardando.
    Abraço
    avatar
    Ismael Silva
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 827
    Registrado : 11/12/2017

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  Ismael Silva 4/3/2021, 22:51

    Só pra acompanhar, achei interessante o tema.

    viniciuusmello gosta desta mensagem

    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  Alexandre Fim 5/3/2021, 05:27

    Olá Vinicius,

    Fiz um pequeno exemplo de agendamento de consultas, onde o sistema se baseia no período informado e na periodicidade informada.

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Agenda10

    Tabela de periodicidade:
    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Agenda11

    Desta forma, vc pode cadastrar quantas periodicidades forem necessárias com seus respectivos dias.

    O sistema verifica se a quantidade de dias no período informado é maior que a quantidade de dias da periodicidade.
    Se for menor, o sistema emitirá uma mensagem

    O botão "Gerar", apenas gera os agendamentos com status "Em Agendamento", para o usuário visualizar se está correto.
    O botão "Agendar", grava efetivamente o agendamento na tabela "TB_AGENDA", com status "Agendado"
    O botão "Cancelar", cancela o agendamento da linha selecionada na lista.
    O botão "Excluir", exclui efetivamente o agendamento da linha selecionada na lista.

    OBS: Existem algumas melhorias a serem feitas e como disse, é apenas um modelo pra vc se orientar sobre a funcionalidades do sistema.

    Dependendo do periodo selecionado, alguns agendamentos cairão no sábado ou no domingo.
    Regra 1: Se agendamento cair no sábado, ajustar para o dia anterior (sexta)
    Regra 2: Se o agendamento cair no domingo, ajustar para o proximo dia (segunda).

    Mas, se porventura, os medicos atenderem também aos finais de semana, as regras acima não se aplicam

    Enfim, fica ao seu critério para suas melhorias.

    Espero ter ajudado.

    Boa sorte.
    Anexos
    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) AttachmentAgendaPsycho.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (51 Kb) Baixado 26 vez(es)


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Setinf11
    Sistemas e Tecnologia Ltda

    crysostomo gosta desta mensagem

    avatar
    viniciuusmello
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 28/02/2021

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  viniciuusmello 5/3/2021, 11:52

    Muito obrigado, Alexandre!

    Show de bola!

    Não conheço muito de SQL kkk o pouco que sei é no VBA, mas estou me aventurando no código pra tentar entender a lógica aplicada.

    Agradeço muito mesmo.
    Abraço
    avatar
    viniciuusmello
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 28/02/2021

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  viniciuusmello 5/3/2021, 14:21

    Oi Alexandre!

    Acho que estou conseguindo me achar.
    Mas surgiu uma dúvida.

    Eu percebi que quando determino a data início e a data fim e jogo a periodicidade, ele começa a contagem a partir do dia seguinte.
    Por exemplo: D.Inicial: 05/03/21 (sexta) // D.Final:12/03/21 (sexta) // Periodicidade Semanal [Em tese seriam contabilizadas duas consultas, uma em cada sexta-feira]
    Ele começa a contar a partir do dia seguinte e não contabiliza nem o dia 05 e nem o dia 12, porque não consegue entender a semana.
    Se eu tentar contornar indicando um dia anterior na data de início, ele entende que o ciclo semanal se inicia em uma quinta-feira e só conta quintas-feiras (ex. 11/03/21).

    Teríamos como contornar isso para que ele gere as consultas incluindo a data inicial e a data final?

    Abraço
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  Alexandre Fim 5/3/2021, 16:29

    Vinicius,

    O sistema ele compara a quantidade de dias da periodicidade com a quantidade de dias do periodo.
    Neste caso, a periodicidade é 7 (Semanal) e a diferença entre as datas 05/03/2021 e 12/03/2021 também é 7.

    O sistema só agenda quando a o nro de dias da diferença entre datas for maior que a quantidade de dias da periodicidade.

    O sistema faz o agendamento para periodos maiores e, neste caso, como são apenas 2 agendamentos, teria que fazer manual.

    Tambem daria para ajustar isso, quando o nro de dias da periodicidade for igual ao nro de dias do periodo.

    Vou verificar e te retorno


    Att


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Setinf11
    Sistemas e Tecnologia Ltda
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  Alexandre Fim 5/3/2021, 16:43

    Vinicius,

    Fiz um ajuste na rotina e acredito que tenha resolvido o problema. Segue exemplo:

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Agenda12

    Segue nova versão do sistema.

    Faça os teste e qualquer problema nos informe.

    Valeu
    Anexos
    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) AttachmentAgendaPsycho_v2.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (46 Kb) Baixado 24 vez(es)


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    viniciuusmello
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 28/02/2021

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  viniciuusmello 5/3/2021, 22:14

    Alexandre,

    Ficou excelente a questão da periodicidade. Obrigado!

    Agora o único problema está sendo o botão Agendar.
    Ele só está atualizando a lista (já zerando as consultas geradas, como se tivessem sido canceladas) e não inclui os registros na tabela agenda.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  Alexandre Fim 5/3/2021, 23:57

    Entendi Vinicius,

    É necessário criar uma rotina para verificar os agendamentos cadastrados e incluir agendamentos novos.
    Vou ajustar e assim que terminar eu porto aqui.

    Abs


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    viniciuusmello
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 28/02/2021

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  viniciuusmello 6/3/2021, 10:59

    Show, Alexandre. Muito obrigado!
    Vou acompanhando.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  Alexandre Fim 9/3/2021, 00:04

    Ola Vinicius,

    Fiz algumas alterações e inclui alguns recursos também.

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Agenda13

    Não tive tempo de comentar todo o código, mas acredito que vc não terá dificuldades de entender as rotinas

    Abra a tabela TB_AGENDA e exclua todos os registros e em seguida faça os agendamentos necessários.
    Faça os testes e qualquer dúvida poste aqui.

    Segue nova versão do aplicativo.

    Espero ter ajudado.


    Att,
    Anexos
    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) AttachmentAgendaPsycho_v3.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (113 Kb) Baixado 13 vez(es)


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    viniciuusmello
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 28/02/2021

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  viniciuusmello 9/3/2021, 12:48

    Olá Alexandre, bom dia!
    Tudo bem?

    Então, estava desde ontem dando uma olhada e foram ótimas as implementações.
    O botão de gravar habilitado com a função gerar tornou o sistema bastante profissional.

    Porém, com as alterações realizadas, voltamos ao problema que havia sido resolvido na versão 02 (a questão de geração de datas).

    Tirei print de dois exemplos, para você ver. Avaliando o código, acredito que eles caracterizem as duas possibilidades previstas (período igual à periodicidade e período maior que a periodicidade).

    1) Com os períodos iguais, utilizei como exemplo a data de hoje (09/03) e a próxima terça-feira (16/03), com periodicidade semanal:

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Semana10

    Como você vai verificar no exemplo acima, ele gerou uma consulta uma semana depois da data de início e uma semana depois da data final.
    Excluindo a data inicial e final, que seriam, na verdade, as datas corretas para geração da consulta.

    2) Com o período maior que a periodicidade, utilizando como exemplos o dia 01/03 (segunda-feira) a 01/04 (quinta-feira), com periodicidade semanal:

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Semana12

    Nesse caso, ele novamente gera a consulta para a segunda-feira posterior a data de início, excluindo o dia 01/03.
    Na data final, ele roda perfeitamente, pois considera até o dia 29/03, que é a última segunda-feira antes do dia informado como data final.

    Coloquei os dois códigos (versão 02 e 03) lado a lado no Word para passar o pente fino e tentar encontrar o melhor dos dois mundos, mas infelizmente, com meus conhecimentos limitados, não consegui achar a solução para adaptar um ao outro, então volto a você para pedir mais essa ajuda.

    Creio que sanando essa questão, teremos o projeto fechado redondo.

    Desde já agradeço todo o seu apoio, Alexandre!
    Um abraço
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  Alexandre Fim 9/3/2021, 13:31

    Ok Vinicius,

    Vou ajustar as rotinas de geração de período, e assim que eu finalizar eu disponibilizo nova versão ainda hoje.

    Att,



    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    viniciuusmello
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 28/02/2021

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  viniciuusmello 9/3/2021, 13:39

    Agradeço imensamente, Alexandre!
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  Alexandre Fim 9/3/2021, 22:53

    Vinicius, boa noite

    Ajustei a rotina de agendamento de consultas, e acredito que agora esteja correto.
    Segue nova versão para os testes e qualquer problema nos informe.

    OBS.: fiz alguns comentários no código-fonte

    Espero ter ajudado.

    Boa sorte
    Anexos
    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) AttachmentAgendaPsycho_v4.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (92 Kb) Baixado 20 vez(es)


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Setinf11
    Sistemas e Tecnologia Ltda
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  Assis 10/3/2021, 09:47

    Bom dia Amigos

    Estou a acompanhar o tópico e tenho duas questões.

    Ver imagens:

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) 1_sem_18

    **************************************************************************************************
    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) 2_sem_14

    Obrigado


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


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  Alexandre Fim 10/3/2021, 14:38

    Oi Assis,
    Vou ajustar essa rotina e depois eu disponibilizo nova versão.

    Até mais


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Setinf11
    Sistemas e Tecnologia Ltda
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  Alexandre Fim 10/3/2021, 15:25

    Como mencionei anteriormente, era apenas um sistema para gerar agendamentos, e que precisa ser melhorado.
    O correto é dividir as rotinas em outros formulários e acabei fazendo tudo em um.

    Att


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    viniciuusmello
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 28/02/2021

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  viniciuusmello 10/3/2021, 19:21

    Olá Colegas,

    Assis, obrigado pelos apontamentos!

    Alexandre, mais uma vez obrigado! Aquela questão que mencionamos na geração das datas, me parece resolvida.

    Estou tentando adaptar o código para o meu projeto, mas estou empacado na rotina GravaAgenda.

    Como te disse, sou leigo em SQL, mas tentei ir palpando no escuro e realizei umas adaptações nessa rotina, mas estou tendo a mensagem de erro 3134 "Erro de sintaxe na instrução INSERT INTO".

    Código:
    Public Function GravaAgenda() As Boolean
    'On Error GoTo trata_erro
    Dim x As Integer

        If Valida = False Then Exit Function
        
        Set DB = CurrentDb
        
        With lstAgenda
            For x = 1 To .ListCount - 1
                If .Column(4, x) = "Em Agendamento" Then
                    sSQL = "INSERT INTO tblAgenda ( "
                    sSQL = sSQL & ",IDPaciente"
                    sSQL = sSQL & ",NomePaciente"
                    sSQL = sSQL & " DataAtendimento"
                    sSQL = sSQL & ",DiaSemana"
                    sSQL = sSQL & ",HoraAtendimento"
                    sSQL = sSQL & ",StatusAgendamento"
                    sSQL = sSQL & ",StatusConsulta"
                    sSQL = sSQL & ")"
                    sSQL = sSQL & " VALUES"
                    sSQL = sSQL & "("
                    sSQL = sSQL & "'" & .Column(7, x) & ""
                    sSQL = sSQL & ",'" & .Column(3, x) & "'"
                    sSQL = sSQL & ",'" & .Column(0, x) & "'"
                    sSQL = sSQL & "," & .Column(1, x) & "'"
                    sSQL = sSQL & "," & .Column(2, x) & "'"
                    sSQL = sSQL & ",'Agendado'"
                    sSQL = sSQL & ",'" & .Column(5, x) & "'"
                    sSQL = sSQL & ")"
                    DB.Execute sSQL
                End If
            Next x
        End With
        
        GravaAgenda = True
        
        Exit Function
    trata_erro:
        
        GravaAgenda = False
        Exit Function
        
        

    End Function

    Coloquei aspas simples no tratamento do erro para entender a origem, e ele me aponta para a linha DB.Execute sSQL.

    Só para contextualizar, eu importei seu formulário para o meu projeto junto com a tabela de periodicidade.
    A tabela pacientes eu já possuo e a tabela agenda (tblAgenda) também.
    A tabela Médicos não se aplica pois o meu projeto é para consultório com um único profissional.

    Substituí em todo o código as referências de tabela e campos.

    Nesse código acima, da função GravaAgenda, mantive os campos na ordem da tabela, como o seu, e alterei as colunas da listagem em VALUES.

    Saberia me dizer oq está dando errado na minha construção?

    Tomo a liberdade de disponibilizar uma amostra do meu projeto com essas informações e as tabelas envolvidas, no link abaixo (não consegui anexar):

    https://www.dropbox.com/s/8ojmneeqa6d7mro/SistemaPsiExemplo.accdb?dl=0

    As demais funções, acredito estarem rodando bem. Selecionando o nome na combobox, carrega os agendamentos na listbox e inserindo os parâmetros e acionando o comando gerar, são gerados os registros "Em agendamento" de forma correta.

    O problema está sendo realmente no comando de gravar.

    Agradeço novamente a atenção e seu tempo.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  Alexandre Fim 10/3/2021, 20:54

    Olá Vinicius,

    Estava finalizando o sistema e depois eu vi a sua última mensagem. Vou analisar o problema.
    Fiz algumas melhorias conforme o amigo Assis mencionou.
    @Assis, para realizar somente 1 agendamento, selecione a periodicidade "Diaria", e o usuário informa Data Fim igual a Data Início

    Validações do sistema:

    - o sistema não permite agendar uma consulta no período anterior à data atual
    - o sistema não permite marcar como "Realizada" as consultas com Data/Hora posteriores à Data/Hora Atual.
    - é necessário preencher todos os campos para realizar o agendamento

    Segue nova versão.

    Att,
    Anexos
    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) AttachmentAgendaPsycho_v5.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (102 Kb) Baixado 24 vez(es)


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Setinf11
    Sistemas e Tecnologia Ltda
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  Alexandre Fim 10/3/2021, 21:05

    Olá Vinicius,

    O erro está nesta linha:

    Código:


    sSQL = sSQL & " DataAtendimento"

    'Faltou a virgula:
    sSQL = sSQL & ", DataAtendimento"



    A tabela Médicos não se aplica pois o meu projeto é para consultório com um único profissional. escreveu:

    Sempre que possível, pense no sistema como ele poderá atender às necessidades no futuro.

    Imaginemos que este consultório começa a trabalhar com mais de 1 médico? Como ficaria?

    Por isso a necessidade da tabela "TB_MEDICO" e evite, ao máximo, escrever dados fixos no código (mais conhecido como "chumbado" no código), pois pode atrapalhar em uma possível manutenção no sistema.

    Vou baixar o teu projeto e também analisar.

    Espero ter ajudado.










    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Setinf11
    Sistemas e Tecnologia Ltda
    Finformática
    Finformática
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1097
    Registrado : 23/03/2010

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  Finformática 10/3/2021, 21:41

    Caros Amigos,

    Estou acompanhando o tópico e acho que falta algumas críticas. Aceita mesmo médico, mesmo horário, mesma periocidade para paciente diferente. Quanto tempo dura uma consulta para ver se não está dentro do intervalo de outra consulta?
    Estou acompanhando para aprender com os grandes mestres.

    Abraços
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  Assis 10/3/2021, 21:46

    Finformática

    Estamos a ver o mesmo   Rolling Eyes

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) 1_sem_19


    .................................................................................
    *** Só sei que nada sei ***

    Finformática gosta desta mensagem

    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  Alexandre Fim 10/3/2021, 22:48

    Olá Assis/Vinicius e demais colegas !!!

    O sistema valida os agendamentos na mesma data/hora e mesmo médico.

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Consul11


    Segue nove versão do sistema.


    Att,
    Anexos
    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) AttachmentAgendaPlus_v1_00_05.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (69 Kb) Baixado 36 vez(es)


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Setinf11
    Sistemas e Tecnologia Ltda

    Dj Roger gosta desta mensagem

    avatar
    viniciuusmello
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 28/02/2021

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  viniciuusmello 10/3/2021, 23:08

    Alexandre,

    Obrigado pelas novas versões e pelas dicas.

    Eu consertei a vírgula, porém o sistema continua emitindo o mesmo erro. scratch
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  Alexandre Fim 10/3/2021, 23:41

    Vinícius boa noite,

    Os campos que serão gravados no banco de dados através da instrução SQL, deve-se observar o uso correto do APÓSTROFO (').

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Apostr10

    O apóstrofo serve para separar campos textos (string) em uma instrução SQL.

    Apenas à titulo de informação:
    - Não existe "aspas simples". Existe apóstrofo.
    - Não existe "aspas duplas". Existe aspas.

    Para os campos de valores inteiros não é necessário utilizar o apóstrofo.

    Segue instrução ajustada (não teste, apenas arrumei o trecho que estava errado)

    Código:


                    sSQL = "INSERT INTO tblAgenda ( "
                    sSQL = sSQL & ",IDPaciente"
                    sSQL = sSQL & ",NomePaciente"
                    sSQL = sSQL & ",DataAtendimento"
                    sSQL = sSQL & ",DiaSemana"
                    sSQL = sSQL & ",HoraAtendimento"
                    sSQL = sSQL & ",StatusAgendamento"
                    sSQL = sSQL & ",StatusConsulta"
                    sSQL = sSQL & ")"
                    sSQL = sSQL & " VALUES"
                    sSQL = sSQL & "("
                    sSQL = sSQL & "  " & .Column(7, x) & ""
                    sSQL = sSQL & ",'" & .Column(3, x) & "'"
                    sSQL = sSQL & ",'" & .Column(0, x) & "'"
                    sSQL = sSQL & ",'" & .Column(1, x) & "'"
                    sSQL = sSQL & ",'" & .Column(2, x) & "'"
                    sSQL = sSQL & ",'Agendado'"
                    sSQL = sSQL & ",'" & .Column(5, x) & "'"
                    sSQL = sSQL & ")"



    Espero ter ajudado.

    Boa sorte




    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    viniciuusmello
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 28/02/2021

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  viniciuusmello 10/3/2021, 23:58

    Boa noite Alexandre!

    Fiz as alterações exatamente como indicou, mas infelizmente continua dando erro na linha DB.Execute sSQL
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  Alexandre Fim 11/3/2021, 00:43

    Vinícius,
    Preciso entender a estrutura da tabela de agendamentos.
    Talvez, tem algum campo da tabela que não está em conformidade com o tipo e, provavelmente, tá gerando erro ao inserir.

    Se possível, envia uma cópia do teu sistema par seu analisar e ajustar essa rotina de agendamento com as tabelas.

    Valeu


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    viniciuusmello
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 28/02/2021

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  viniciuusmello 11/3/2021, 00:50

    A tabela de agendamentos estava naquela amostra do sistema que eu te encaminhei.

    Mas estou te encaminhando o sistema completo (em desenvolvimento) para que você possa verificar, por favor.

    https://www.dropbox.com/s/kxvkombktdoadgw/DESENV%20Sistema%20Psi%20-%20DO%20ZERO.accdb?dl=0

    O nome da tabela de agendamentos é tblAgenda e do formulário é fmlAgendarBloco.

    Mais uma vez obrigado, Alexandre!
    avatar
    viniciuusmello
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 28/02/2021

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  viniciuusmello 11/3/2021, 13:24

    Bom dia a todos!

    Alexandre,
    Peguei o código dessa rotina que você desenvolveu e inseri minhas informações de novo. Funcionou perfeitamente!
    Devo ter mexido em alguma estrutura que não devia, da primeira vez.

    Estou só terminando de configurar o formulário e, se os colegas não tiverem mais nada a acrescentar, posso dar o tópico como resolvido.

    Alexandre, excelente a sua ajuda do início ao fim, muito obrigado pelo empenho e disponibilidade.
    Grande profissional!

    Colegas, algo mais a acrescentar?

    Um abraço a todos
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  Alexandre Fim 11/3/2021, 13:58

    Bom dia Vinicius

    Muito bem...que bom que resolveu!!! cheers
    Se possível, procure treinar mais o VBA e procure entender mais como funciona.
    É fundamental.

    Não se esqueça de mudar o tópico para Resolvido.

    Boa sorte e sucesso !!!


    Abraço




    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Setinf11
    Sistemas e Tecnologia Ltda

    viniciuusmello gosta desta mensagem

    avatar
    viniciuusmello
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 28/02/2021

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  viniciuusmello 11/3/2021, 14:30

    Pode deixar, Alexandre!

    Muito obrigado!
    Finformática
    Finformática
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1097
    Registrado : 23/03/2010

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  Finformática 11/3/2021, 17:40

    Caro Vinicius,

    Link off. Por favor, atualize seu último link para aprendermos com o modo que foi resolvido.

    Muito grato
    avatar
    viniciuusmello
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 28/02/2021

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  viniciuusmello 11/3/2021, 22:44

    Boa noite, Finformática!

    Perdão, segue o link com o formulário atualizado:

    https://www.dropbox.com/s/l97fqjqbbnr99g4/SistemaPsiExemplo.accdb?dl=0

    Abraço

    Dj Roger gosta desta mensagem

    Finformática
    Finformática
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1097
    Registrado : 23/03/2010

    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  Finformática 11/3/2021, 23:26

    Valeu Vinicius, muito grato. Vou estudar o sistema.

    Grande abraço!

    viniciuusmello gosta desta mensagem


    Conteúdo patrocinado


    [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana) Empty Re: [Resolvido]Gravar vários registros com o mesmo horário (com base em dias da semana)

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/11/2024, 17:27