Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 885
  • Last Modified:

Access Date Format using Dot or Period as Separator

We have Office 2010.  In Access 2010, I have a table named Docket.  In this table I have a field called DktDate.

The field DktDate is formatted as a Short Date.  I created a Form named frmDocket.

When I enter dates into the DktDate field of this form...
   I can type 11/21/2013 and it displays as 11/21/2013 - This is perfect.
   I can type 11/21/13 and it displays as 11/21/2013 - This is perfect.
   I can type 11.21.2013 and it displays as 11/21/2013 - This is perfect.
   I can type 11.21.13 and it displays as 12/30/1899 - This is a major issue!

I need my users to also be able to type 11.21.13 and I need it to display 11/21/2013.

Can anyone assist me with this?  

Also, I don't want to have to alter my settings under the Windows Regional and Language Options.

Thanks in advance!
0
Senniger1
Asked:
Senniger1
  • 4
  • 4
  • 2
1 Solution
 
Rey Obrero (Capricorn1)Commented:
you can do this by adding an unbound textbox to your form "txtDate"

in the afterupdate of this textbox, set the value of your DktDate

me.DktDate=replace(me.txtDate,".","/")
0
 
Senniger1Author Commented:
capricorn1 - I always appreciate your help.

I want to mention I simplified my form so everyone could understand my question.  My actual form has at least 50 date fields.

With that being said, what field are you proposing the user enters the date into?  The DktDate field or the txtDate field.  And if it's the latter, will it still format all the other entry variations (listed above) correctly?

Thanks!
0
 
Rey Obrero (Capricorn1)Commented:
<And if it's the latter, will it still format all the other entry variations (listed above) correctly?>

Yes

better using the cdate() function

me.DktDate=cdate(replace(me.txtDate,".","/") )
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
Senniger1Author Commented:
So sorry.  I'm still confused.  

Will the user be entering the date in the DktDate field on the form or on the txtDate field on the form?
0
 
Rey Obrero (Capricorn1)Commented:
the date will entered in txtDate,

in the afterupdate of this textbox, set the value of your DktDate

me.DktDate=cdate(replace(me.txtDate,".","/") )
0
 
Senniger1Author Commented:
Okay, I see that logic works, however I'm concerned with my form.  If I have to add an unbound textbox for every date field I have on my form then I will have two fields showing for every field.  

My form is quite involved with 50+ dates on it and barely has room for all the fields already on it.  Also I think it would be quite confusing to see to date fields for each item on the form.

Am I missing something?
0
 
Rey Obrero (Capricorn1)Commented:
you don't need to show the bound controls for dates in your form,
just  show the unbound controls

you can place the unbound textboxes on top of the bound controls
0
 
Gustav BrockCIOCommented:
You should take another route.

Your issue is that when using dots only and small numbers, the input is read a time.
So all you need is to check for this and convert in the AfterUpdate event of DktDate using the components of the entered time value. No extra textboxes are needed.
As you have many date fields, you will need to call a function:

Private Sub DktDate_AfterUpdate()
    
    Call ConvertTimeToDate(Me!DktDate)

End Sub

Private Sub ConvertTimeToDate(ByRef ctl As Control)

    Dim varDate As Variant
    
    varDate = ctl.Value
    If IsDate(varDate) Then
        If DateValue(varDate) = #12:00:00 AM# Then
            ctl.Value = DateSerial(Second(varDate), Hour(varDate), Minute(varDate))
        End If
    End If

End Sub

Open in new window

/gustav
0
 
Senniger1Author Commented:
This was exactly what I needed.  Thanks to everyone for your help!
0
 
Gustav BrockCIOCommented:
You are welcome!

/gustav
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 4
  • 4
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now