ID: Q92816
The information in this article applies to:
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 of days from January 1. Microsoft Access does not have any built-in functions for using or converting Julian dates to standard dates. However, you can write 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 20th century. The code must be changed to process dates after the year 2000.
This article assumes that you are familiar with Visual Basic for Applications and with creating Microsoft Access applications using the programming tools provided with Microsoft Access. For more information about 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 Microsoft Access versions 1.x and 2.0. For more information about Access Basic, please refer to the "Introduction to Programming" manual in Microsoft Access version 1.x or the "Building Applications" manual in Microsoft Access version 2.0.
You can use the following sample function, ConvertJulian(), to convert Julian 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 line when re-creating this code in Access Basic.
1. Create a module and type the following line in the Declarations
section:
Option Explicit
2. Type the following procedure:
Function ConvertJulian (JulianDate as Long)
ConvertJulian = DateSerial(1900 + Int(JulianDate / 1000), _
1, JulianDate Mod 1000)
End Function
Example 1:
1. Create a new form in Design view not based on any table or query.
2. Add the following text box controls to the form:
Text Box:
Name: Text0
Text Box:
Name: Text2
ControlSource: =ConvertJulian([Text0])
3. 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.
Example 2:
1. Create and save the following new table called Table1:
Table: Table1
--------------------
Field Name: Julian
Data Type: Number
2. View the table in Datasheet view. Add the following values to the
table:
90001
90010
92100
3. Create a new query based on Table1 and drag the Julian field to the
query grid.
4. In the Field row of another column on the query grid, enter the
following:
Normal: ConvertJulian([Julian])
5. Run the query. Note that the Julian dates are converted to standard
dates.
Additional query words:
Keywords : kbprg kb2000
Version : 1.0 1.1 2.0 7.0 97
Platform : WINDOWS
Hardware : x86
Issue type : kbinfo
Last Reviewed: November 20, 1998