|
-
May 11th, 2009, 03:02 AM
#1
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
-
May 11th, 2009, 03:51 AM
#2
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
-
May 11th, 2009, 04:16 AM
#3
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
-
May 11th, 2009, 09:03 AM
#4
Re: DateTimePicker problems
Have you tried :
Code:
Dim da As New OleDb.OleDbDataAdapter("Select * From Sanctions Where [Group] Like '%EN%' AND [Date] BETWEEN #" & Format(SDate, "dd/MM/yyyy") & "# AND #" & Format(FDate, "dd/MM/yyyy") & "# AND [Description] <> 'Merits' ", cnDept)
-
May 11th, 2009, 09:13 AM
#5
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
-
May 11th, 2009, 10:18 PM
#6
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());
}
}
}
-
May 13th, 2009, 04:49 AM
#7
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
-
May 13th, 2009, 07:21 PM
#8
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
-
May 15th, 2009, 03:19 AM
#9
Re: DateTimePicker problems
Dglienna thanks for the help so far 
I get the error 'Parse is not a member of String' for this part:
and also the error 'Value of type 'System.Globalization.CultureInfo' cannot be converted to 'String' for this line:
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
-
May 15th, 2009, 06:13 AM
#10
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
-
May 15th, 2009, 07:11 AM
#11
Re: DateTimePicker problems
komalo
Thing is, I need the whole date though
Visual Basic 2005 ver. 8.0.50727.867
-
May 15th, 2009, 07:34 AM
#12
Re: DateTimePicker problems
-
May 19th, 2009, 03:36 AM
#13
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
-
May 19th, 2009, 06:37 PM
#14
Re: DateTimePicker problems
Just noticed the OleTableAdapter. Why not try the SQL Table Adapter?
-
May 20th, 2009, 02:02 AM
#15
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
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|