This article was previously published under Q92816
Retired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
Moderate: Requires basic macro, coding, and interoperability skills.
Most government agencies and contractors require the use of Julian dates.A Julian date starts with a two-digit year, and then counts the number ofdays from January 1. Microsoft Access does not have any built-in functionsfor using or converting Julian dates to standard dates. However, you canwrite a function to do this. This article demonstrates a sample user-defined function that converts a Julian date to a standard serial date.Note that the following sample code assumes the year is in the 20thcentury. The code must be changed to process dates after the year 2000.
This article assumes that you are familiar with Visual Basic forApplications and with creating Microsoft Access applications using theprogramming tools provided with Microsoft Access. For more informationabout Visual Basic for Applications, please refer to your version of the"Building Applications with Microsoft Access" manual.
NOTE: Visual Basic for Applications is called Access Basic in MicrosoftAccess versions 1.x and 2.0. For more information about Access Basic,please refer to the "Introduction to Programming" manual in MicrosoftAccess version 1.x or the "Building Applications" manual in MicrosoftAccess version 2.0.
You can use the following sample function, ConvertJulian(), to convertJulian dates to standard dates.
NOTE: In the following sample code, an underscore (_) is used as a line-continuation character. Remove the underscore from the end of the linewhen re-creating this code in Access Basic.
Create a module and type the following line in the Declarations section:
Type the following procedure:
Function ConvertJulian (JulianDate as Long) ConvertJulian = DateSerial(1900 + Int(JulianDate / 1000), _ 1, JulianDate Mod 1000) End Function
Examples of How to Use the ConvertJulian() Function
Create a new form in Design view not based on any table or query.
Add the following text box controls to the form:
Text Box: Name: Text0 Text Box: Name: Text2 ControlSource: =ConvertJulian([Text0])
View the form in Form view. Type 90001 in the first text box, and then press TAB to move to the second text box. Note that the Julian date in the first text box displays as a standard date in the second text box.
Create and save the following new table called Table1:
Table: Table1 -------------------- Field Name: Julian Data Type: Number
View the table in Datasheet view. Add the following values to the table:
90001 90010 92100
Create a new query based on Table1 and drag the Julian field to the query grid.
In the Field row of another column on the query grid, enter the following:
Run the query. Note that the Julian dates are converted to standard dates.