• Creator
    Topic
  • #4394
    Serhan
    Participant

      Hello Support Team,

      i use this code in my form to change the Label value with the date value that the user put it in the DateTimePicker , but it doesent work…

      Private Sub DateTimePicker1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DateTimePicker1.ValueChanged
      Me.Label1.Text = CStr(Me.DateTimePicker1.Value)
      End Sub

      When i use it in my Visual Studio 2008 it works fine…

      and in the object inspector in formativ there is no eventhandler called “DateTimePicker_ValueChanged” like in Visual Studio 2008…

      Do you have some tips for me?

      PS: off course i have changed Me.Label1.Text to the names of objects i use in my apllet like xxxx.Label1.Text and so on..

      thanks for help

    • Author
      Replies
    • #8072
      Support 1
      Participant

        Thanks for your enquiry.

        To create a handler for DateTimePicker’s OnChange event, double-click the edit box at OnChange in the Object Inspector. For a DateTimePicker named Picker1, this creates a Sub like that shown below:

        Sub Picker1Change(Sender)
        
        End Sub

        There is no Value property for DateTimePicker (the Object Inspector displays the properties Date and Time).

        If MainForm has a Label named Label1 for displaying the date as it changes, you could modify the handler as below:

        Sub Picker1Change(Sender)
        
          MainForm.Label1.Caption = DateToStr(MainForm.Picker1.Date)
        
        End Sub

        You can also use the VBScript functions listed below to help with formatting date/time values:

        Hour
        Minute
        Second
        Weekday
        Day
        Month
        Year

        You may find it helpful to compare DateTimePicker with the RzDateTimeEdit control (on the Enhanced tab). This control has the event OnDateTimeChanged along with a range of different properties.

        I hope this helps.

        Regards,
        Advansys Support

        #8068
        Serhan
        Participant

          thanks a lot, it was very helpfull and it works fine…

          i am trying to code a CheckDateRange function now… i try it by my own first…

          Regards

          #8063
          Support 3
          Participant

            Thanks for your feedback.

            Regards,
            Advansys Support

            #8074
            Serhan
            Participant

              Hey guys,

              now i have two problems… in my code now it works fine when i put a start and end date in the DateTimePicker calender to get only workdays of a week in my field workdays..I put these routine in the Sub PickerEndeChange(Sender) Event Handler…

              So my two problems now are, that if the user put the start and end date manually in the fields nothing happens… i think i have to put the routine from the event handler in the main function, but how? and the other thing is, that i want to check if the date was putting correct, because start date can not be bigger then the end date ( if startDate > endDate ?? )

              here is my code:

              Sub Main(Client, GWEvent)
              .
              .
              .
              End Sub

              ‘ Datefunction Start
              Sub PickerStartChange(Sender)
              TasoUrlaub.feldStart.Text = DateToStr(TasoUrlaub.PickerStart.Date)
              End Sub

              ‘ Datefunction End
              Sub PickerEndChange(Sender)
              TasoUrlaub.feldEnd.Text = DateToStr(TasoUrlaub.PickerEnd.Date)

              Dim fromDate
              Dim toDate
              fromDate = TasoUrlaub.PickerStart.Date
              toDate = TasoUrlaub.PickerEnd.Date
              Dim n
              Dim i
              Dim d
              Dim s
              Dim w

              n = DateDiff(“d”, fromDate, toDate)
              For i = 0 To n
              d = DateAdd(“d”,i, fromDate)
              w = WeekDay(d)
              If w <> 7 AND w <> 1 Then s = s + 1
              Next
              TasoUrlaub.feldWorkDays.text = s & ” without holidays”

              End Sub

              thanks for your help…

              #8069
              Support 1
              Participant

                >if the user put the start and end date manually in the fields nothing happens…

                I am not sure what you mean by “fields”. Are you referring to the DateTimePicker or Edit control? I suggest that you permit users to choose dates using only the DateTimePicker.

                You can compare the Date properties of two DateTimePicker controls as shown in the example below:

                'Datefunction Start
                Sub PickerStartChange(Sender)
                  dim fromDate
                  dim toDate
                
                  fromDate = TasoUrlaub.PickerStart.Date
                  toDate = TasoUrlaub.PickerEnd.Date
                  if toDate > fromDate then
                    MsgBox "Start date cannot be later than End date."
                  end if
                End Sub

                Your OnChange handler can also be used to fix an incorrect date after a user has broken the rule, as shown below:

                'Datefunction Start
                Sub PickerStartChange(Sender)
                  dim fromDate
                  dim toDate
                
                  fromDate = TasoUrlaub.PickerStart.Date
                  toDate = TasoUrlaub.PickerEnd.Date
                  if toDate > fromDate then
                    MsgBox "Start date cannot be later than End date."
                    TasoUrlaub.PickerStart.Date = TasoUrlaub.PickerEnd.Date
                  end if
                End Sub

                Another option is to use the OnUserInput event if you want to prevent a change to the date that breaks the rule. Note that you will need to edit the handler that is created automatically – add the ByRef keyword as shown below:

                Sub PickerStartUserInput(Sender, UserString, DateAndTime, ByRef AllowChange)

                  dim fromDate
                  dim toDate
                
                  fromDate = TasoUrlaub.PickerStart.Date
                  toDate = TasoUrlaub.PickerEnd.Date
                  if toDate > fromDate then
                    AllowChange = false
                  end if
                

                End Sub

                In addition, I suggest using the built-in VBScript named constants, eg. vbSaturday, vbSunday instead of “magic numbers” like 7, 1, etc.

                I hope this helps.

                Regards,
                Advansys Support

                [This message was edited by Support 1 on October 06, 2008 at 08:28 PM.]

                #8067
                Serhan
                Participant

                  Hi Support 1,

                  thanks for your help… and again it helps me a lot…

                  yes i meant the edit controls, i need to give the user the chance to put the Date in the DateTimerPicker or manually in the edit controls… but how? is that right that i have to put the the code in the main function also?

                  thanks for your help…

                  #8070
                  Serhan
                  Participant

                    Hi,

                    ignore my last post.. i was working with edit controls, of course there was nothing happens when i was putting the date manually Wink I cutted the the edit controls out and only working now with the DateTimerPicker… and i fix the other problem by working with Maxdate & MinDate Properties of the DateTimePicker Class…

                    I have one more question, is it possible to send the values or the result of my Form/Inquiry to 2 mail accounts as text mail in groupwise ( one for the CEO and the other mail for the one who is making the Inquiry)

                    How can i fix that ? Hope you understand what i mean…

                    #8064
                    Support 3
                    Participant

                      Please see the Developers Guide for more information and sample code. The following sample code lets you to send message.

                        
                            Dim objDraft  
                            Dim objEmail   
                            Dim objRecipient  
                         
                            ' Create a draft email message  
                            Set objDraft = GroupWise.Account.workfolder.Messages.Add(4)  
                       
                            ' Add a single recipient - ourself  
                             objRecipient = objDraft.Recipients.Add(objDraft.Sender.EmailAddress,,0)   
                       
                            ' Add some properties  
                            objDraft.Subject = "This was created using Formativ"  
                            objDraft.BodyText.PlainText = "This is the body text of the email message"  
                       
                            ' Send the email by calling the send method  
                            Set objEmail = objDraft.Send  
                       
                            ' Display the MessageID  
                            MsgBox(objEmail.MessageID)   
                      

                      Regards,
                      Advansys Support

                      #8066
                      Serhan
                      Participant

                        thanks..

                        i do it that way and evrything works fine.. but i have still 2 problems, how can i add two recipients?

                        and the other thing is:

                        With objMessage
                        .Subject = “xxxx”
                        .Bodytext = DateTimePicker.Date

                        Here always cames out a freaky number, but i want to display the inputed Date ??

                        Thas all, thanks for now…

                        #8065
                        Serhan
                        Participant

                          ok i fixed the first thing with two recipients…

                          but i have still the problem with DateTimePicker ;(

                          #8071
                          Support 3
                          Participant

                            You can use the FormatDateTime() function to return the date or time expression. See the “Visual Basic Scripting” guide for more information.

                            msgbox FormatDateTime(Maindlg.DateTimePicker.date, vbGeneralDate)   
                            

                            Regards,
                            Advansys Support

                            #8073
                            Serhan
                            Participant

                              thanks works fine Wink

                            Viewing 12 replies - 1 through 12 (of 12 total)
                            • You must be logged in to reply to this topic.