aplicação agenda

Caros colegas estou criando uma aplicação para um salão de beleza, onde o usuário possa agendar um horario, porém tenho que determinar o horario para não dar conflito.

Como fazer?

e ai pessoal alguem.

Gere os Dias e horarios para cada profissional para o mes todo. Uma vez agenda gerada vc desenvolve uma tela para associar o horario ao cliente.

Blz, entendi, mas qual comando usaria para que ao selecionar o horário o mesmo não apareça como opção novamente.

Ex: o cliente digita o nome, escolhe o profissional(select) escolhe a data (select) e o horário (select)

Existiria algo para fazer com que estes campos escolhidos não deixem escolher novamente para a mesma data e hora.

Desde já agradeço.

vc vai associar o id do cliente ao registro da agenda, uma vez associado, os selects devem mostrar agendas de datas e hora com id do cliente == 0 ou Nullo.

Aí você tem que montar a sua consistência para verificar no banco de dados se o período que foi escolhido já não se encontra no banco de dados.

Caros sou um pouco leigo no assunto, poderiam me ajudar com um exemplo somente para escolha não se repetir

Ficaria +/- assim. Lembrando que tenho minha própria nomenclatura para as tabelas do calendário no meu sistema, então mude os campos para se adequar a sua estrutura. E esse código tem que ser executado no OnValidate e gerar um erro caso encontre algum registro nessa query. Pois o intervalo que foi escolhido já possui agendamento.

select age_titulo, age_descricao, age_data_inicio, age_hora_inicio, age_data_termino, age_hora_termino from mov_agenda where (cast(age_data_inicio + age_hora_inicio as timestamp) between cast({age_data_inicio} + {age_hora_inicio} as timestamp) and cast({age_data_termino} + {age_hora_termino} as timestamp)) or (cast(age_data_termino + age_hora_termino as timestamp) between cast({age_data_inicio} + {age_hora_inicio} as timestamp) and cast({age_data_termino} + {age_hora_termino} as timestamp)) order by age_data_inicio, age_hora_inicio

Obrigado, vou testar e posto aqui.

Caro endrigo, fiz desta forma mas esta dando erro poderia me ajudar, meus campos a verificar são data e hora da tabela agenda.
$select
data,
hora
‘from’
agenda
‘where’
(cast(data + hora as timestamp) between cast({data} + {hora} as timestamp)

order by
data, hora;

Veja bem que vc nem chegou perto do que te passei, tente executar o comando em seu gerenciador de banco de dados (pgAdmin ou phpMyAdmin) trocando somente os nomes de campos, tabelas e os valores {data} e {hora} substitua por uma data e hora no formato do seu banco de dados.

select age_titulo, age_descricao, age_data_inicio, age_hora_inicio, age_data_termino, age_hora_termino from mov_agenda where (cast(age_data_inicio + age_hora_inicio as timestamp) between cast({age_data_inicio} + {age_hora_inicio} as timestamp) and cast({age_data_termino} + {age_hora_termino} as timestamp)) or (cast(age_data_termino + age_hora_termino as timestamp) between cast({age_data_inicio} + {age_hora_inicio} as timestamp) and cast({age_data_termino} + {age_hora_termino} as timestamp)) order by age_data_inicio, age_hora_inicio

desculpe-me é porque sou leigo neste assunto, estou tendo que substituir o programador aquina na empresa e minha area é telecom e dados.

Bom com base na minha tabela agenda e os campos data e hora, como ficaria para funcionar com o scriptcase, sei que ficar tratando assuntos deste com iniciantes e complicado, mas te agradeço muito pela ajuda.

Tudo bem Celso. Mas tente pegar o comando que te passei, completo, e substituir pelos seus campos, sem mudar o restante.