can some help me with this datetimepicker problem...
btime1 is my datetimepicker(format is time)

Dim time559 As DateTime
        Dim time1001 As DateTime
        time559 = FormatDateTime("5:00:00 PM", DateFormat.LongTime)
        time1001 = FormatDateTime("10:01:00 PM", DateFormat.LongTime)
        If Btime1.Value < time559 And Btime1.Value > time1001 Then
            MsgBox("Booking Time is only available from 6.00 PM to 10.00 PM ")
            Rpanel1.Show()
        Else
            PListBox1.Items.Add("Customer Name" & ControlChars.Tab & _
            ControlChars.Tab & "Booking Date" & ControlChars.Tab & _
            ControlChars.Tab & "Booking Time")
            status1 = "Booked"
            Table1.BackColor = Color.Khaki
            PListBox1.Items.Add(Bcusname1.Text & ControlChars.Tab & _
            ControlChars.Tab & ControlChars.Tab & Bdate1.Value & ControlChars.Tab & _
            ControlChars.Tab & Btime1.Value)

the problem now is the first IF statement is not executing....i'm having trouble comparing them...can someone help me pls?

the allowed booking time is from 6pm to 10pm....somehow its not working..

thank u...

Recommended Answers

All 3 Replies

There are two problems:

1) In the If statement, the And should be Or.
2) Even if you change the Format property of the DateTimePicker to Time, the datetimepicker still stores the date. Therefore, the If statement is comparing 5:00 PM and 10:01 PM to, in my case 10/3/2008 6:00 PM. Because of the date part of the datetimepicker, the value in the date timepicker will always be larger than 10:01 PM.

Here is some code I put together to overcome these two issues:

Dim time559 As DateTime
        Dim time1001 As DateTime
        Dim time1 As DateTime
        time559 = FormatDateTime("5:00:00 PM", DateFormat.LongTime)
        time1001 = FormatDateTime("10:01:00 PM", DateFormat.LongTime)
        time1 = FormatDateTime(Hour(btime1.Value) & ":" & Minute(btime1.Value))
        If time1 < time559 Or time1 > time1001 Then
            MsgBox("Booking Time is only available from 6.00 PM to 10.00 PM ")
        Else
            MsgBox("OK ")
        End If

Let me know if that works.

thank u soo much mr timoty...its working now..owe...one more question...can i do the exact same thing for the date...coz i need to compare the dates incase they want it 2molo or day after 2molo??....thank u soo much...

I don't know what comparisons you are trying to make, so here is some general code on how to get the selected date, today's date and tomorrow's date. You just need to create an If statement to make the comparisons you want.

Dim chosenDate As Date
        Dim dateToday As Date
        Dim dateTomorrow As Date

        chosenDate = FormatDateTime(DatePart(DateInterval.Month, btime1.Value) & "/" & DatePart(DateInterval.Day, btime1.Value) & "/" & DatePart(DateInterval.Year, btime1.Value), DateFormat.ShortDate)
        dateToday = FormatDateTime(Now, DateFormat.ShortDate)
        dateTomorrow = DateAdd(DateInterval.Day, 1, dateToday)
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.