CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Page 1 of 2 12 LastLast
Results 1 to 15 of 21
  1. #1
    Join Date
    Dec 2002
    Location
    Tenby, Wales
    Posts
    277

    DateTimePicker problems

    I am using a DateTimePicker to allow the user to select dates between which, info from a database is selected and displayed in a DataGridView.

    This works fine exept that the dates selected by the DateTimePicker seem to bring back results in US date format!

    If I do a debug.print (DateTime1.text), the date is in UK format i.e 11/05/2009 but when these variables are used in a Select statement, the dates returned seem to be in US format e.g. selecting dates between 01/04/2009 and 7/05/2009 selects dates between 04/01/2009 and 05/07/2009 when the results are displayed in the DataGridView!

    Getting DateTime variables:
    Code:
    SDate = sDateTime.Text
    FDate = fDateTime.Text

    Select Statement:
    Code:
    Dim da As New OleDb.OleDbDataAdapter("Select * From Sanctions Where [Group] Like '%EN%' AND [Date] BETWEEN #" & SDate & "# AND #" & FDate & "# AND [Description] <> 'Merits' ", cnDept)
    Does anyone know why this is happening?

    Thanks
    Visual Basic 2005 ver. 8.0.50727.867

  2. #2
    Join Date
    Jul 2001
    Location
    Sunny South Africa
    Posts
    11,284

    Re: DateTimePicker problems

    You cold either change the format of the Date column in your DB - if you have access to it, but, I think the best would be to use the Format function with which you can set the proper display order

  3. #3
    Join Date
    Dec 2002
    Location
    Tenby, Wales
    Posts
    277

    Re: DateTimePicker problems

    Hi Hannes!

    Cheers for the reply. I have tried this:

    Code:
    SDate = sDateTime.Value.ToString("dd MM yyyy")
    and also changing the Format to custom and entering dd/mm/yyyy in the CustomFormat box but none of these make any difference.

    Any ideas??
    Visual Basic 2005 ver. 8.0.50727.867

  4. #4
    Join Date
    Jul 2001
    Location
    Sunny South Africa
    Posts
    11,284

    Re: DateTimePicker problems

    Have you tried :
    Code:
    Dim da As New OleDb.OleDbDataAdapter("Select * From Sanctions Where [Group] Like '&#37;EN%' AND [Date] BETWEEN #" & Format(SDate, "dd/MM/yyyy") & "# AND #" & Format(FDate, "dd/MM/yyyy") & "# AND [Description] <> 'Merits' ", cnDept)

  5. #5
    Join Date
    Dec 2002
    Location
    Tenby, Wales
    Posts
    277

    Re: DateTimePicker problems

    Just tried that and selected the dates: 01/05/2009 and 07/05/2009 but when the DataGridView is populated, the dates range from 05/01/2009 up until the present day!!

    Something is swapping the dates into US format but haven't a clue what it is!

    The Database Date field is setup as Date/Time.

    Can you think what it is??

    Cheers Hannes
    Visual Basic 2005 ver. 8.0.50727.867

  6. #6
    Join Date
    Jan 2006
    Location
    Fox Lake, IL
    Posts
    15,007

    Re: DateTimePicker problems

    Try this (it's C#):

    Code:
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.IO;
    using System.Reflection;
    using System.Resources;
    using System.Text;
    using System.Threading;
    using System.Globalization;
    
    public class MainClass
    {
        public static void Main()
        {
            CultureInfo current = CultureInfo.CurrentCulture;
            string numberString = "33,223.510";
    
                try
                {
                    double number = double.Parse(numberString, CultureInfo.InvariantCulture);
                    Console.WriteLine("Parsed! {0}", number);
                }
                catch (Exception e)
                {
                    Console.WriteLine("Caught exception: {0}", e.ToString());
                }
        }
    }
    David

    CodeGuru Article: Bound Controls are Evil-VB6
    2013 Samples: MS CODE Samples

    CodeGuru Reviewer
    2006 Dell CSP
    2006, 2007 & 2008 MVP Visual Basic
    If your question has been answered satisfactorily, and it has been helpful, then, please, Rate this Post!

  7. #7
    Join Date
    Dec 2002
    Location
    Tenby, Wales
    Posts
    277

    Re: DateTimePicker problems

    Hi DGlienna

    Thanks for the reply. I can convert most of the code you gave me but not all of it. Any chance you can help me out??

    Thanks
    Last edited by brjames32; May 13th, 2009 at 05:27 AM.
    Visual Basic 2005 ver. 8.0.50727.867

  8. #8
    Join Date
    Jan 2006
    Location
    Fox Lake, IL
    Posts
    15,007

    Re: DateTimePicker problems

    Remove the ; at the end of lines, and think backwards.

    Code:
    Dim current As CultureInfo = CultureInfo.CurrentCulture
    Debug.Print current
    Dim SDate As String = String.Parse(sDateTime.Text, CultureInfo.InvariantCulture)
    Imports instead of Using, also
    David

    CodeGuru Article: Bound Controls are Evil-VB6
    2013 Samples: MS CODE Samples

    CodeGuru Reviewer
    2006 Dell CSP
    2006, 2007 & 2008 MVP Visual Basic
    If your question has been answered satisfactorily, and it has been helpful, then, please, Rate this Post!

  9. #9
    Join Date
    Dec 2002
    Location
    Tenby, Wales
    Posts
    277

    Re: DateTimePicker problems

    Dglienna thanks for the help so far

    I get the error 'Parse is not a member of String' for this part:
    String.Parse
    and also the error 'Value of type 'System.Globalization.CultureInfo' cannot be converted to 'String' for this line:

    Debug.Print(current)
    where the emphasis is on current
    Last edited by brjames32; May 15th, 2009 at 03:35 AM.
    Visual Basic 2005 ver. 8.0.50727.867

  10. #10
    Join Date
    Nov 2008
    Location
    Cairo , Egypt
    Posts
    24

    Re: DateTimePicker problems

    you can just separate the day , month & year instead of passing all the date
    sDateTime.Value.Day
    sDateTime.Value.Month
    sDateTime.Value.Year

  11. #11
    Join Date
    Dec 2002
    Location
    Tenby, Wales
    Posts
    277

    Re: DateTimePicker problems

    komalo

    Thing is, I need the whole date though
    Visual Basic 2005 ver. 8.0.50727.867

  12. #12
    Join Date
    Nov 2008
    Location
    Cairo , Egypt
    Posts
    24

    Re: DateTimePicker problems


  13. #13
    Join Date
    Dec 2002
    Location
    Tenby, Wales
    Posts
    277

    Re: DateTimePicker problems

    My code is now:
    Code:
    Dim ukCulture As CultureInfo = New CultureInfo("en-GB")
            Dim ukSDate As DateTime = DateTime.Parse(SDate, ukCulture.DateTimeFormat)
            Dim ukFDate As DateTime = DateTime.Parse(FDate, ukCulture.DateTimeFormat)
    but this still makes no difference. The dates are still being selected in US format even though doing a debug.print sDate shows them the right way round!

    This is driving me insane!!
    Visual Basic 2005 ver. 8.0.50727.867

  14. #14
    Join Date
    Jan 2006
    Location
    Fox Lake, IL
    Posts
    15,007

    Re: DateTimePicker problems

    Just noticed the OleTableAdapter. Why not try the SQL Table Adapter?
    David

    CodeGuru Article: Bound Controls are Evil-VB6
    2013 Samples: MS CODE Samples

    CodeGuru Reviewer
    2006 Dell CSP
    2006, 2007 & 2008 MVP Visual Basic
    If your question has been answered satisfactorily, and it has been helpful, then, please, Rate this Post!

  15. #15
    Join Date
    Dec 2002
    Location
    Tenby, Wales
    Posts
    277

    Re: DateTimePicker problems

    Ah yes - didn't think about that. Will give it a go and let ya know how I get on.

    Cheers for suggesting that
    Visual Basic 2005 ver. 8.0.50727.867

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured