none
Proibir cadastro a partir das 17:00 horas, Como faço? RRS feed

  • Pergunta

  • Olá pessoal,

    Eu tenho um formulário de agendamento, agendar consultas on-line, que eu queria proibir o cadastro a partir das 17:00 horas se caso o usuário faça um cadastro de agendamento para o dia seguinte. Ou seja: se o usuário resolver se cadastrar a tarde a partir das 17:00 hs e esse cadastro for para realizar o agendamento para o dia seguinte, então o sistema não permitirá.

    Mas, só pode proibir se for para o dia seguinte, se ele se cadastrar para 2 ou 3 dias futuros, poderá sim.

    Tipo, veja o formulário de exemplo:

    Tem os campos:

    Nome_____
    Data do agendamento________


    Se o usuário no dia 4/5/2009 for se cadastrar marcando o agendamento para o dia seguinte, que no caso, é o dia 5/5/2009 e na hora deste cadastro for as 17:00 hs, então o sistema quando for cadastrar, fará um teste e não permitirá cadastrar.

    Só poderá cadastrar se ele marcar para o dia 6/5/2009 ou seja: toda vez que for 17:00 hs ele não poderá marcar para o dia seguinte, só para outros dias depois do dia seguinte. Se ele marca na quarta-feira as 17:00 o sistema só permite agendar se a data do campo for para sexta-feira.

    Agora, se for cadastrar antes das 17:00, o usuário pode cadastrar normal.

    Alguém sabe como fazer isso? Tentei e não acerto uma forma.

    Desde já, agradeço

    Marcelo Vinicius
    terça-feira, 5 de maio de 2009 00:35

Respostas

  • Marcelo,

    o que você tem que fazer é, sempre que o horário tiver passado das 17:00h, bloquear o agendamento para o próximo dia útil, só liberando para os demais dias.
    Ricardo Oneda Acesse o blog de Ricardo Oneda Acesse o perfil de Ricardo Oneda no Twitter
    • Marcado como Resposta Marcelo Marvi sexta-feira, 8 de maio de 2009 15:14
    terça-feira, 5 de maio de 2009 17:37
    Moderador

Todas as Respostas

  • Marcelo, desculpe mas aonde você esta se perdendo na lógica??

    Digamos que ele queira cadastrar:

    Data e Hora: 04/05/2009 17:00

    então você faz:

    if ( hora >= 17 ) then
       DateAdd("d",2,data)
    else
       DateAdd("d",1,data)


    Abraço

    Estevam


    **** Se a reposta foi útil, então não esqueça de marca-lá. ***
    terça-feira, 5 de maio de 2009 01:31
  • Estevam,

    Acho que não entendeu

    eu quero algo, tipo:

    dataagenda=request.form(data)

    dia1 = day(now)
    mes1 = month(now)
    ano1 = year(now)
    hora1 = hour(now)
    minutos1 = minute(now)
    segundos1 =second(now)

    Fun_Dataok = CStr(dia1) + "/" + CStr(mes1) + "/" + CStr(ano1)

    fun_horaok = CStr(hora1) + ":" + CStr(minutos1) + ":" + CStr(segundos1)


    if ( fun_hora >= "17" and ) then

    if ( dataagenda >= "17" or dataagenda <= "23" ) then 'Aqui já não funciona se for 10 horas do dia, faz nada!


     vencimento = DateAdd("d", 1, Fun_Data)
    varlodata1=CDate(vardata_agenda)
    varlodata1=replace(varlodata1,"/","")
    varlodata2=replace(vencimento,"/","")
    if varlodata1 = varlodata2 then

    response.write ("a partir das 17:00 horas com a da data selecionada para o dia seguinte não pode")

    else if varlodata1 <> varlodata2 then

    response.write ("pode")

    else if ( fun_hora <= "17" and fun_hora >= "23" ) then  ' não funciona...



    Queria algo assim... pois se passar das 17 horas até as meioa noite ou as 23:59 não pode cadastrar para a data o dia seguinte, entendeu?

    Marcelo Vinicius
    terça-feira, 5 de maio de 2009 13:12
  • Marcelo, mas do jeito que você fez o o código nunca vai entrar na condição que você quer, veja:

    if varlodata1 = varlodata2 then

        response.write ("a partir das 17:00 horas com a da data selecionada para o dia seguinte não pode")

    else if varlodata1 <> varlodata2 then

         response.write ("pode")

    else if ( fun_hora <= "17" and fun_hora >= "23" ) then  ' não funciona...


    Ele nunca vai entrar na 3ª condição, porque no primeiro if você teste as datas são iguais ok? se for ok entra no primeiro if, agora te pergunta, se as datas não forem iguais então elas são diferentes, ou seja sempre vai entrar na segunda condição, "else if varlodata1 <> varlodata2 then" e não vai chegar a testar a terceira. Entendeu??


    Abraço

    Estevam

    **** Se a reposta foi útil, então não esqueça de marca-lá. ***
    terça-feira, 5 de maio de 2009 16:24
  • Marcelo,

    o que você tem que fazer é, sempre que o horário tiver passado das 17:00h, bloquear o agendamento para o próximo dia útil, só liberando para os demais dias.
    Ricardo Oneda Acesse o blog de Ricardo Oneda Acesse o perfil de Ricardo Oneda no Twitter
    • Marcado como Resposta Marcelo Marvi sexta-feira, 8 de maio de 2009 15:14
    terça-feira, 5 de maio de 2009 17:37
    Moderador
  • Parece que consegui rodar aqui... qualquer coisa aviso a vocês!

    Obrigado!
    Marcelo Vinicius
    sexta-feira, 8 de maio de 2009 15:14