Grandes Mestres
Estou com dificuldades em uma crítica, procurei ajuda na web e até agora nada. Encontrei este forum, gostei e estou aqui pedir ajuda.
Tenho um sisteminha de AGENDA em um cliente que contém os campos DATA e HORA como chaves e outros campos simples. Acontece que o cliente pediu para colocar um campo HORAFIM do compromisso e este campo pode ser vazio. Como faço para criticar no momento de agendar novo compromisso se o mesmo não está dentro de um outro intervalo de horas HORA (início) e HORAFIM (término) de outro compromisso. Sei que se colocar mesma DATA e HORA não passa por serem chaves mas colocando 1 minuto a mais na HORA passa, mas pode está entre um intervalo de INÍCIO e FIM ou até começando antes e terminando depois. Alguém pode me ajudar? Já fiz várias tentativas e termina furando e o cliente é chato pacas.
Conforme já citei o campo HORAFINAL não é obrigatório, mas se for preenchido teremos que respeitar o intervalo de horas para não cadastrar nada dentro, não deixar um intervalo já existente dentro de outro que estamos cadastrando no momento ou intervalos que peguem parte de outros existentes.
Vou exemplificar para ver se sou mais claro.
Suponhamos a tabela de AGENDA (campo DATA e DATAINICIAL são chaves primárias):
DATA ............ HORAINICIAL.....HORAFINAL ...............Outros campos
15/10/10 .......... 12:00 ..........14:00
15/10/10 .......... 14:01
15/10/10 ...........15:00 ..........15:40
15/10/10 .......... 21:00 ..........21:30
15/10/10 .......... 22:00
Digamos que o usuário queira cadastrar:
15/10/10 ............12:30 ............. Vai aceitar e está dentro do intervalo 12:00 às 14:00 e a pessoa já tem compromisso.
Se o usuário quizer cadastrar:
15/10/10 ..........14:30 ..........16:00 ....... Vai aceitar e o intervalo 15:00 às 15:40 vai ficar dentro deste intervalo que o usuário quer cadastar.
Se o usário quizer cadastar:
15/10/10..........21:15 ..........23:00 ....... Vai aceitar e vai pegar parte do intervalo 21:00 às 21:30 e mais o compromisso de 22:00.
Esperando ter sido mais claro, pergunto: Como posso validar esses buracos? Tem alguma sugestão, mesmo que seja alterando chaves da tabela ou mesmo criando outra tabela para ficar relacionada a tabela AGENDA??
Com MESTRES eu sei que obterei uma solução.
Muito grato
Grande abraço
Estou com dificuldades em uma crítica, procurei ajuda na web e até agora nada. Encontrei este forum, gostei e estou aqui pedir ajuda.
Tenho um sisteminha de AGENDA em um cliente que contém os campos DATA e HORA como chaves e outros campos simples. Acontece que o cliente pediu para colocar um campo HORAFIM do compromisso e este campo pode ser vazio. Como faço para criticar no momento de agendar novo compromisso se o mesmo não está dentro de um outro intervalo de horas HORA (início) e HORAFIM (término) de outro compromisso. Sei que se colocar mesma DATA e HORA não passa por serem chaves mas colocando 1 minuto a mais na HORA passa, mas pode está entre um intervalo de INÍCIO e FIM ou até começando antes e terminando depois. Alguém pode me ajudar? Já fiz várias tentativas e termina furando e o cliente é chato pacas.
Conforme já citei o campo HORAFINAL não é obrigatório, mas se for preenchido teremos que respeitar o intervalo de horas para não cadastrar nada dentro, não deixar um intervalo já existente dentro de outro que estamos cadastrando no momento ou intervalos que peguem parte de outros existentes.
Vou exemplificar para ver se sou mais claro.
Suponhamos a tabela de AGENDA (campo DATA e DATAINICIAL são chaves primárias):
DATA ............ HORAINICIAL.....HORAFINAL ...............Outros campos
15/10/10 .......... 12:00 ..........14:00
15/10/10 .......... 14:01
15/10/10 ...........15:00 ..........15:40
15/10/10 .......... 21:00 ..........21:30
15/10/10 .......... 22:00
Digamos que o usuário queira cadastrar:
15/10/10 ............12:30 ............. Vai aceitar e está dentro do intervalo 12:00 às 14:00 e a pessoa já tem compromisso.
Se o usuário quizer cadastrar:
15/10/10 ..........14:30 ..........16:00 ....... Vai aceitar e o intervalo 15:00 às 15:40 vai ficar dentro deste intervalo que o usuário quer cadastar.
Se o usário quizer cadastar:
15/10/10..........21:15 ..........23:00 ....... Vai aceitar e vai pegar parte do intervalo 21:00 às 21:30 e mais o compromisso de 22:00.
Esperando ter sido mais claro, pergunto: Como posso validar esses buracos? Tem alguma sugestão, mesmo que seja alterando chaves da tabela ou mesmo criando outra tabela para ficar relacionada a tabela AGENDA??
Com MESTRES eu sei que obterei uma solução.
Muito grato
Grande abraço