Microsoft TechNet ITHome - Microsoft Year 2000 Product Guide
Microsoft Products
Product Entry Guide Detail


The Microsoft Year 2000 Resource Center Product Guide details specific Year 2000 information concerning Microsoft products. The information in the product guide is presented to assist IT professionals in planning their transition to the Year 2000. If you cannot find a specific product and it is not on the "Microsoft Products: Testing Yet to be Completed" list, you can assume it will NOT be tested for compliancy.
Microsoft will continually update the Year 2000 Product Guide with the most current Year 2000 test information. Visit the Year 2000 Product Guide for more details regarding the Microsoft Compliance Categories.

------------------------
Microsoft Year 2000 Resource Center
Visual C++: MFC  4.2   (Japanese)

Product Summary
Product: Visual C++: MFC Version: 4.2 Category:Compliant
Language: Japanese OS: 32-Bit Win Release Date: 01 Jul 1996
Operational Range: 01 Jan 1980 - 18 Jan 2038
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows NT 4.0 Service Pack 4, Windows 98 Service Pack 1
Clock Dependencies: System Clock
Last Updated: 14 Sep 1999
Product Details

Visual C++: Microsoft Foundation Classes (MFC)42.DLL

and

Visual C++: Microsoft Foundation Classes (MFC)42U.DLL 4.2

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

Note: this requires that any available and appropriate software updates or service packs have been applied.

How the product runtime handles dates:

There are no known problems with how MFC42 handles dates. MFC has a CTime class and a COleDateTime class.

CTime can represent dates from 1/1/1970 to 1/18/2038, as it is basically under the same restrictions as the underlying C run-time library.

COleDateTime uses the DATE type used for OLE Automation, and can represent dates from 1/1/100 through 12/31/9999.

Two-digit shortcut handling:

There is no 2-digit shortcut handling of years. Years must be completely specified.

Recommended practices to develop year 2000 compliant applications:

Please see the "Visual C++ and the Year 2000" best practices article located at http://www.msdn.microsoft.com/visualc.

Common development errors dealing with year 2000 date issues:

The most likely area for concern arises if users write their own date handling routines. Please see the "Visual C++ and the Year 2000" best practices article located at http://www.msdn.microsoft.com/visualc.

Testing guidelines and recommendations:

Please see the "Visual C++ and the Year 2000" best practices article located at http://www.msdn.microsoft.com/visualc.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual C++: MFC  4.2   (Korean)

Product Summary
Product: Visual C++: MFC Version: 4.2 Category:Compliant
Language: Korean OS: 32-Bit Win Release Date: 01 Jul 1996
Operational Range: 01 Jan 1980 - 18 Jan 2038
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows NT 4.0 Service Pack 4, Windows 98 Service Pack 1
Clock Dependencies: System Clock
Last Updated: 14 Sep 1999
Product Details

Visual C++: Microsoft Foundation Classes (MFC)42.DLL

and

Visual C++: Microsoft Foundation Classes (MFC)42U.DLL 4.2

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

Note: this requires that any available and appropriate software updates or service packs have been applied.

How the product runtime handles dates:

There are no known problems with how MFC42 handles dates. MFC has a CTime class and a COleDateTime class.

CTime can represent dates from 1/1/1970 to 1/18/2038, as it is basically under the same restrictions as the underlying C run-time library.

COleDateTime uses the DATE type used for OLE Automation, and can represent dates from 1/1/100 through 12/31/9999.

Two-digit shortcut handling:

There is no 2-digit shortcut handling of years. Years must be completely specified.

Recommended practices to develop year 2000 compliant applications:

Please see the "Visual C++ and the Year 2000" best practices article located at http://www.msdn.microsoft.com/visualc.

Common development errors dealing with year 2000 date issues:

The most likely area for concern arises if users write their own date handling routines. Please see the "Visual C++ and the Year 2000" best practices article located at http://www.msdn.microsoft.com/visualc.

Testing guidelines and recommendations:

Please see the "Visual C++ and the Year 2000" best practices article located at http://www.msdn.microsoft.com/visualc.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual C++: MFC  4.2   (Spanish)

Product Summary
Product: Visual C++: MFC Version: 4.2 Category:Compliant
Language: Spanish OS: 32-Bit Win Release Date: 01 Jul 1996
Operational Range: 01 Jan 1980 - 18 Jan 2038
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows NT 4.0 Service Pack 4, Windows 98 Service Pack 1
Clock Dependencies: System Clock
Last Updated: 14 Sep 1999
Product Details

Visual C++: Microsoft Foundation Classes (MFC)42.DLL

and

Visual C++: Microsoft Foundation Classes (MFC)42U.DLL 4.2

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

Note: this requires that any available and appropriate software updates or service packs have been applied.

How the product runtime handles dates:

There are no known problems with how MFC42 handles dates. MFC has a CTime class and a COleDateTime class.

CTime can represent dates from 1/1/1970 to 1/18/2038, as it is basically under the same restrictions as the underlying C run-time library.

COleDateTime uses the DATE type used for OLE Automation, and can represent dates from 1/1/100 through 12/31/9999.

Two-digit shortcut handling:

There is no 2-digit shortcut handling of years. Years must be completely specified.

Recommended practices to develop year 2000 compliant applications:

Please see the "Visual C++ and the Year 2000" best practices article located at http://www.msdn.microsoft.com/visualc.

Common development errors dealing with year 2000 date issues:

The most likely area for concern arises if users write their own date handling routines. Please see the "Visual C++ and the Year 2000" best practices article located at http://www.msdn.microsoft.com/visualc.

Testing guidelines and recommendations:

Please see the "Visual C++ and the Year 2000" best practices article located at http://www.msdn.microsoft.com/visualc.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  5.0   (Chinese - Simplified)

Product Summary
Product: Visual Database Tools Version: 5.0 Category:Compliant*
Language: Chinese - Simplified OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 1 or higher.
Product Dependencies: Visual Basic 5.0 Enterprise, Visual C++ 5.0 Enterprise, Visual InterDev 5.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 11 Sep 1999
Product Details

Operational Range for Data:
SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD
Access: 1/1/100 AD to 1/1/9999 AD

Visual Database Tools

  • Query Designer
  • Database Designer
  • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Any value entered into a date-type grid cell is handled by OLEAUT32 and is displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 2-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server ODBC driver, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 5.0 of the Query Designer utilizes ODBC and RDO functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  5.0   (Chinese - Traditional)

Product Summary
Product: Visual Database Tools Version: 5.0 Category:Compliant*
Language: Chinese - Traditional OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 1 or higher.
Product Dependencies: Visual Basic 5.0 Enterprise, Visual C++ 5.0 Enterprise, Visual InterDev 5.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 11 Sep 1999
Product Details

Operational Range for Data:
SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD
Access: 1/1/100 AD to 1/1/9999 AD

Visual Database Tools

  • Query Designer
  • Database Designer
  • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Any value entered into a date-type grid cell is handled by OLEAUT32 and is displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 2-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server ODBC driver, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 5.0 of the Query Designer utilizes ODBC and RDO functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  5.0   (Czech)

Product Summary
Product: Visual Database Tools Version: 5.0 Category:Compliant*
Language: Czech OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 1 or higher.
Product Dependencies: Visual Basic 5.0 Enterprise, Visual C++ 5.0 Enterprise, Visual InterDev 5.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 11 Sep 1999
Product Details

Operational Range for Data:
SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD
Access: 1/1/100 AD to 1/1/9999 AD

Visual Database Tools

  • Query Designer
  • Database Designer
  • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Any value entered into a date-type grid cell is handled by OLEAUT32 and is displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 2-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server ODBC driver, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 5.0 of the Query Designer utilizes ODBC and RDO functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  5.0   (English)

Product Summary
Product: Visual Database Tools Version: 5.0 Category:Compliant*
Language: English OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 1 or higher.
Product Dependencies: Visual Basic 5.0 Enterprise, Visual C++ 5.0 Enterprise, Visual InterDev 5.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 11 Sep 1999
Product Details

Operational Range for Data:
SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD
Access: 1/1/100 AD to 1/1/9999 AD

Visual Database Tools

  • Query Designer
  • Database Designer
  • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Any value entered into a date-type grid cell is handled by OLEAUT32 and is displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 2-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server ODBC driver, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 5.0 of the Query Designer utilizes ODBC and RDO functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  5.0   (French)

Product Summary
Product: Visual Database Tools Version: 5.0 Category:Compliant*
Language: French OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 1 or higher.
Product Dependencies: Visual Basic 5.0 Enterprise, Visual C++ 5.0 Enterprise, Visual InterDev 5.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 11 Sep 1999
Product Details

Operational Range for Data:
SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD
Access: 1/1/100 AD to 1/1/9999 AD

Visual Database Tools

  • Query Designer
  • Database Designer
  • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Any value entered into a date-type grid cell is handled by OLEAUT32 and is displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 2-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server ODBC driver, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 5.0 of the Query Designer utilizes ODBC and RDO functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  5.0   (German)

Product Summary
Product: Visual Database Tools Version: 5.0 Category:Compliant*
Language: German OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 1 or higher.
Product Dependencies: Visual Basic 5.0 Enterprise, Visual C++ 5.0 Enterprise, Visual InterDev 5.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 11 Sep 1999
Product Details

Operational Range for Data:
SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD
Access: 1/1/100 AD to 1/1/9999 AD

Visual Database Tools

  • Query Designer
  • Database Designer
  • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Any value entered into a date-type grid cell is handled by OLEAUT32 and is displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 2-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server ODBC driver, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 5.0 of the Query Designer utilizes ODBC and RDO functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  5.0   (Hungarian)

Product Summary
Product: Visual Database Tools Version: 5.0 Category:Compliant*
Language: Hungarian OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 1 or higher.
Product Dependencies: Visual Basic 5.0 Enterprise, Visual C++ 5.0 Enterprise, Visual InterDev 5.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 11 Sep 1999
Product Details

Operational Range for Data:
SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD
Access: 1/1/100 AD to 1/1/9999 AD

Visual Database Tools

  • Query Designer
  • Database Designer
  • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Any value entered into a date-type grid cell is handled by OLEAUT32 and is displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 2-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server ODBC driver, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 5.0 of the Query Designer utilizes ODBC and RDO functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  5.0   (Italian)

Product Summary
Product: Visual Database Tools Version: 5.0 Category:Compliant*
Language: Italian OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 1 or higher.
Product Dependencies: Visual Basic 5.0 Enterprise, Visual C++ 5.0 Enterprise, Visual InterDev 5.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 11 Sep 1999
Product Details

Operational Range for Data:
SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD
Access: 1/1/100 AD to 1/1/9999 AD

Visual Database Tools

  • Query Designer
  • Database Designer
  • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Any value entered into a date-type grid cell is handled by OLEAUT32 and is displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 2-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server ODBC driver, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 5.0 of the Query Designer utilizes ODBC and RDO functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  5.0   (Japanese)

Product Summary
Product: Visual Database Tools Version: 5.0 Category:Compliant*
Language: Japanese OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 1 or higher.
Product Dependencies: Visual Basic 5.0 Enterprise, Visual C++ 5.0 Enterprise, Visual InterDev 5.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 11 Sep 1999
Product Details

Operational Range for Data:
SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD
Access: 1/1/100 AD to 1/1/9999 AD

Visual Database Tools

  • Query Designer
  • Database Designer
  • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Any value entered into a date-type grid cell is handled by OLEAUT32 and is displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 2-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server ODBC driver, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 5.0 of the Query Designer utilizes ODBC and RDO functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  5.0   (Korean)

Product Summary
Product: Visual Database Tools Version: 5.0 Category:Compliant*
Language: Korean OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 1 or higher.
Product Dependencies: Visual Basic 5.0 Enterprise, Visual C++ 5.0 Enterprise, Visual InterDev 5.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 11 Sep 1999
Product Details

Operational Range for Data:
SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD
Access: 1/1/100 AD to 1/1/9999 AD

Visual Database Tools

  • Query Designer
  • Database Designer
  • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Any value entered into a date-type grid cell is handled by OLEAUT32 and is displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 2-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server ODBC driver, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 5.0 of the Query Designer utilizes ODBC and RDO functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  5.0   (Polish)

Product Summary
Product: Visual Database Tools Version: 5.0 Category:Compliant*
Language: Polish OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 1 or higher.
Product Dependencies: Visual Basic 5.0 Enterprise, Visual C++ 5.0 Enterprise, Visual InterDev 5.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 11 Sep 1999
Product Details

Operational Range for Data:
SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD
Access: 1/1/100 AD to 1/1/9999 AD

Visual Database Tools

  • Query Designer
  • Database Designer
  • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Any value entered into a date-type grid cell is handled by OLEAUT32 and is displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 2-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server ODBC driver, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 5.0 of the Query Designer utilizes ODBC and RDO functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  5.0   (Portuguese (Brazil))

Product Summary
Product: Visual Database Tools Version: 5.0 Category:Compliant*
Language: Portuguese (Brazil) OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 1 or higher.
Product Dependencies: Visual Basic 5.0 Enterprise, Visual C++ 5.0 Enterprise, Visual InterDev 5.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 11 Sep 1999
Product Details

Operational Range for Data:
SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD
Access: 1/1/100 AD to 1/1/9999 AD

Visual Database Tools

  • Query Designer
  • Database Designer
  • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Any value entered into a date-type grid cell is handled by OLEAUT32 and is displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 2-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server ODBC driver, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 5.0 of the Query Designer utilizes ODBC and RDO functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  5.0   (Romanian)

Product Summary
Product: Visual Database Tools Version: 5.0 Category:Compliant*
Language: Romanian OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 1 or higher.
Product Dependencies: Visual Basic 5.0 Enterprise, Visual C++ 5.0 Enterprise, Visual InterDev 5.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 11 Sep 1999
Product Details

Operational Range for Data:
SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD
Access: 1/1/100 AD to 1/1/9999 AD

Visual Database Tools

  • Query Designer
  • Database Designer
  • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Any value entered into a date-type grid cell is handled by OLEAUT32 and is displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 2-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server ODBC driver, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 5.0 of the Query Designer utilizes ODBC and RDO functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  5.0   (Russian)

Product Summary
Product: Visual Database Tools Version: 5.0 Category:Compliant*
Language: Russian OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 1 or higher.
Product Dependencies: Visual Basic 5.0 Enterprise, Visual C++ 5.0 Enterprise, Visual InterDev 5.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 15 Sep 1999
Product Details

Operational Range for Data:
SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD
Access: 1/1/100 AD to 1/1/9999 AD

Visual Database Tools

  • Query Designer
  • Database Designer
  • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Any value entered into a date-type grid cell is handled by OLEAUT32 and is displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 2-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server ODBC driver, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 5.0 of the Query Designer utilizes ODBC and RDO functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  5.0   (Spanish)

Product Summary
Product: Visual Database Tools Version: 5.0 Category:Compliant*
Language: Spanish OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 1 or higher.
Product Dependencies: Visual Basic 5.0 Enterprise, Visual C++ 5.0 Enterprise, Visual InterDev 5.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 11 Sep 1999
Product Details

Operational Range for Data:
SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD
Access: 1/1/100 AD to 1/1/9999 AD

Visual Database Tools

  • Query Designer
  • Database Designer
  • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Any value entered into a date-type grid cell is handled by OLEAUT32 and is displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 2-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server ODBC driver, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 5.0 of the Query Designer utilizes ODBC and RDO functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  6.0   (Chinese - Simplified)

Product Summary
Product: Visual Database Tools Version: 6.0 Category:Compliant*#
Language: Chinese - Simplified OS: 32-Bit Win Release Date: 01 Jul 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 2, 2.1, or higher, Visual Studio 6 Service Pack 3.
Product Dependencies: Visual Basic 6.0 Enterprise, Visual C++ 6.0 Enterprise, Visual InterDev 6.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 13 Sep 1999
Product Details

Visual Database Tools

    • Query Designer
    • Database Designer
    • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Operational Range for Data:

SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD

Oracle 7.3: 1/1/4712 BC to 1/1/4712 AD

Access: 1/1/100 AD to 1/1/9999 AD

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes (See Oracle Issues below.)

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are only used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Values entered into a date-type grid cell are handled by OLEAUT32 and displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 4-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server/Oracle ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server connection, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Oracle Issues

There is an issue regarding 2-digit year parsing when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900.

The work-around for this is to set your system’s Short Date format to include a 4-digit year.

However, this issue is resolved by installing Visual Studio 6 Service Pack 3.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 6.0 of the Query Designer utilizes ADO, OLEDB, and ODBC functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  6.0   (Chinese - Traditional)

Product Summary
Product: Visual Database Tools Version: 6.0 Category:Compliant*#
Language: Chinese - Traditional OS: 32-Bit Win Release Date: 01 Jul 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 2, 2.1, or higher, Visual Studio 6 Service Pack 3.
Product Dependencies: Visual Basic 6.0 Enterprise, Visual C++ 6.0 Enterprise, Visual InterDev 6.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 13 Sep 1999
Product Details

Visual Database Tools

    • Query Designer
    • Database Designer
    • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Operational Range for Data:

SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD

Oracle 7.3: 1/1/4712 BC to 1/1/4712 AD

Access: 1/1/100 AD to 1/1/9999 AD

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes (See Oracle Issues below.)

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are only used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Values entered into a date-type grid cell are handled by OLEAUT32 and displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 4-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server/Oracle ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server connection, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Oracle Issues

There is an issue regarding 2-digit year parsing when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900.

The work-around for this is to set your system’s Short Date format to include a 4-digit year.

However, this issue is resolved by installing Visual Studio 6 Service Pack 3.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 6.0 of the Query Designer utilizes ADO, OLEDB, and ODBC functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  6.0   (Czech)

Product Summary
Product: Visual Database Tools Version: 6.0 Category:Compliant*#
Language: Czech OS: 32-Bit Win Release Date: 01 Jul 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 2, 2.1, or higher, Visual Studio 6 Service Pack 3.
Product Dependencies: Visual Basic 6.0 Enterprise, Visual C++ 6.0 Enterprise, Visual InterDev 6.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 13 Sep 1999
Product Details

Visual Database Tools

    • Query Designer
    • Database Designer
    • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Operational Range for Data:

SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD

Oracle 7.3: 1/1/4712 BC to 1/1/4712 AD

Access: 1/1/100 AD to 1/1/9999 AD

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes (See Oracle Issues below.)

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are only used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Values entered into a date-type grid cell are handled by OLEAUT32 and displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 4-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server/Oracle ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server connection, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Oracle Issues

There is an issue regarding 2-digit year parsing when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900.

The work-around for this is to set your system’s Short Date format to include a 4-digit year.

However, this issue is resolved by installing Visual Studio 6 Service Pack 3.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 6.0 of the Query Designer utilizes ADO, OLEDB, and ODBC functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  6.0   (English)

Product Summary
Product: Visual Database Tools Version: 6.0 Category:Compliant*#
Language: English OS: 32-Bit Win Release Date: 01 Jul 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 2, 2.1, or higher, Visual Studio 6 Service Pack 3.
Product Dependencies: Visual Basic 6.0 Enterprise, Visual C++ 6.0 Enterprise, Visual InterDev 6.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 13 Sep 1999
Product Details

Visual Database Tools

    • Query Designer
    • Database Designer
    • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Operational Range for Data:

SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD

Oracle 7.3: 1/1/4712 BC to 1/1/4712 AD

Access: 1/1/100 AD to 1/1/9999 AD

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes (See Oracle Issues below.)

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are only used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Values entered into a date-type grid cell are handled by OLEAUT32 and displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 4-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server/Oracle ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server connection, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Oracle Issues

There is an issue regarding 2-digit year parsing when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900.

The work-around for this is to set your system’s Short Date format to include a 4-digit year.

However, this issue is resolved by installing Visual Studio 6 Service Pack 3.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 6.0 of the Query Designer utilizes ADO, OLEDB, and ODBC functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  6.0   (French)

Product Summary
Product: Visual Database Tools Version: 6.0 Category:Compliant*#
Language: French OS: 32-Bit Win Release Date: 01 Jul 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 2, 2.1, or higher, Visual Studio 6 Service Pack 3.
Product Dependencies: Visual Basic 6.0 Enterprise, Visual C++ 6.0 Enterprise, Visual InterDev 6.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 13 Sep 1999
Product Details

Visual Database Tools

    • Query Designer
    • Database Designer
    • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Operational Range for Data:

SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD

Oracle 7.3: 1/1/4712 BC to 1/1/4712 AD

Access: 1/1/100 AD to 1/1/9999 AD

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes (See Oracle Issues below.)

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are only used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Values entered into a date-type grid cell are handled by OLEAUT32 and displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 4-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server/Oracle ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server connection, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Oracle Issues

There is an issue regarding 2-digit year parsing when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900.

The work-around for this is to set your system’s Short Date format to include a 4-digit year.

However, this issue is resolved by installing Visual Studio 6 Service Pack 3.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 6.0 of the Query Designer utilizes ADO, OLEDB, and ODBC functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  6.0   (German)

Product Summary
Product: Visual Database Tools Version: 6.0 Category:Compliant*#
Language: German OS: 32-Bit Win Release Date: 01 Jul 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 2, 2.1, or higher, Visual Studio 6 Service Pack 3.
Product Dependencies: Visual Basic 6.0 Enterprise, Visual C++ 6.0 Enterprise, Visual InterDev 6.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 13 Sep 1999
Product Details

Visual Database Tools

    • Query Designer
    • Database Designer
    • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Operational Range for Data:

SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD

Oracle 7.3: 1/1/4712 BC to 1/1/4712 AD

Access: 1/1/100 AD to 1/1/9999 AD

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes (See Oracle Issues below.)

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are only used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Values entered into a date-type grid cell are handled by OLEAUT32 and displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 4-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server/Oracle ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server connection, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Oracle Issues

There is an issue regarding 2-digit year parsing when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900.

The work-around for this is to set your system’s Short Date format to include a 4-digit year.

However, this issue is resolved by installing Visual Studio 6 Service Pack 3.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 6.0 of the Query Designer utilizes ADO, OLEDB, and ODBC functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  6.0   (Hungarian)

Product Summary
Product: Visual Database Tools Version: 6.0 Category:Compliant*#
Language: Hungarian OS: 32-Bit Win Release Date: 01 Jul 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 2, 2.1, or higher, Visual Studio 6 Service Pack 3.
Product Dependencies: Visual Basic 6.0 Enterprise, Visual C++ 6.0 Enterprise, Visual InterDev 6.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 13 Sep 1999
Product Details

Visual Database Tools

    • Query Designer
    • Database Designer
    • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Operational Range for Data:

SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD

Oracle 7.3: 1/1/4712 BC to 1/1/4712 AD

Access: 1/1/100 AD to 1/1/9999 AD

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes (See Oracle Issues below.)

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are only used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Values entered into a date-type grid cell are handled by OLEAUT32 and displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 4-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server/Oracle ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server connection, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Oracle Issues

There is an issue regarding 2-digit year parsing when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900.

The work-around for this is to set your system’s Short Date format to include a 4-digit year.

However, this issue is resolved by installing Visual Studio 6 Service Pack 3.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 6.0 of the Query Designer utilizes ADO, OLEDB, and ODBC functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  6.0   (Italian)

Product Summary
Product: Visual Database Tools Version: 6.0 Category:Compliant*#
Language: Italian OS: 32-Bit Win Release Date: 01 Jul 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 2, 2.1, or higher, Visual Studio 6 Service Pack 3.
Product Dependencies: Visual Basic 6.0 Enterprise, Visual C++ 6.0 Enterprise, Visual InterDev 6.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 13 Sep 1999
Product Details

Visual Database Tools

    • Query Designer
    • Database Designer
    • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Operational Range for Data:

SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD

Oracle 7.3: 1/1/4712 BC to 1/1/4712 AD

Access: 1/1/100 AD to 1/1/9999 AD

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes (See Oracle Issues below.)

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are only used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Values entered into a date-type grid cell are handled by OLEAUT32 and displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 4-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server/Oracle ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server connection, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Oracle Issues

There is an issue regarding 2-digit year parsing when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900.

The work-around for this is to set your system’s Short Date format to include a 4-digit year.

However, this issue is resolved by installing Visual Studio 6 Service Pack 3.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 6.0 of the Query Designer utilizes ADO, OLEDB, and ODBC functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  6.0   (Japanese)

Product Summary
Product: Visual Database Tools Version: 6.0 Category:Compliant*#
Language: Japanese OS: 32-Bit Win Release Date: 01 Jul 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 2, 2.1, or higher, Visual Studio 6 Service Pack 3.
Product Dependencies: Visual Basic 6.0 Enterprise, Visual C++ 6.0 Enterprise, Visual InterDev 6.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 13 Sep 1999
Product Details

Visual Database Tools

    • Query Designer
    • Database Designer
    • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Operational Range for Data:

SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD

Oracle 7.3: 1/1/4712 BC to 1/1/4712 AD

Access: 1/1/100 AD to 1/1/9999 AD

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes (See Oracle Issues below.)

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are only used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Values entered into a date-type grid cell are handled by OLEAUT32 and displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 4-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server/Oracle ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server connection, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Oracle Issues

There is an issue regarding 2-digit year parsing when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900.

The work-around for this is to set your system’s Short Date format to include a 4-digit year.

However, this issue is resolved by installing Visual Studio 6 Service Pack 3.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 6.0 of the Query Designer utilizes ADO, OLEDB, and ODBC functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  6.0   (Korean)

Product Summary
Product: Visual Database Tools Version: 6.0 Category:Compliant*#
Language: Korean OS: 32-Bit Win Release Date: 01 Jul 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 2, 2.1, or higher, Visual Studio 6 Service Pack 3.
Product Dependencies: Visual Basic 6.0 Enterprise, Visual C++ 6.0 Enterprise, Visual InterDev 6.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 13 Sep 1999
Product Details

Visual Database Tools

    • Query Designer
    • Database Designer
    • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Operational Range for Data:

SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD

Oracle 7.3: 1/1/4712 BC to 1/1/4712 AD

Access: 1/1/100 AD to 1/1/9999 AD

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes (See Oracle Issues below.)

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are only used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Values entered into a date-type grid cell are handled by OLEAUT32 and displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 4-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server/Oracle ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server connection, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Oracle Issues

There is an issue regarding 2-digit year parsing when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900.

The work-around for this is to set your system’s Short Date format to include a 4-digit year.

However, this issue is resolved by installing Visual Studio 6 Service Pack 3.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 6.0 of the Query Designer utilizes ADO, OLEDB, and ODBC functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  6.0   (Polish)

Product Summary
Product: Visual Database Tools Version: 6.0 Category:Compliant*#
Language: Polish OS: 32-Bit Win Release Date: 01 Jul 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 2, 2.1, or higher, Visual Studio 6 Service Pack 3.
Product Dependencies: Visual Basic 6.0 Enterprise, Visual C++ 6.0 Enterprise, Visual InterDev 6.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 13 Sep 1999
Product Details

Visual Database Tools

    • Query Designer
    • Database Designer
    • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Operational Range for Data:

SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD

Oracle 7.3: 1/1/4712 BC to 1/1/4712 AD

Access: 1/1/100 AD to 1/1/9999 AD

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes (See Oracle Issues below.)

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are only used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Values entered into a date-type grid cell are handled by OLEAUT32 and displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 4-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server/Oracle ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server connection, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Oracle Issues

There is an issue regarding 2-digit year parsing when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900.

The work-around for this is to set your system’s Short Date format to include a 4-digit year.

However, this issue is resolved by installing Visual Studio 6 Service Pack 3.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 6.0 of the Query Designer utilizes ADO, OLEDB, and ODBC functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  6.0   (Portuguese (Brazil))

Product Summary
Product: Visual Database Tools Version: 6.0 Category:Compliant*#
Language: Portuguese (Brazil) OS: 32-Bit Win Release Date: 01 Jul 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 2, 2.1, or higher, Visual Studio 6 Service Pack 3.
Product Dependencies: Visual Basic 6.0 Enterprise, Visual C++ 6.0 Enterprise, Visual InterDev 6.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 13 Sep 1999
Product Details

Visual Database Tools

    • Query Designer
    • Database Designer
    • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Operational Range for Data:

SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD

Oracle 7.3: 1/1/4712 BC to 1/1/4712 AD

Access: 1/1/100 AD to 1/1/9999 AD

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes (See Oracle Issues below.)

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are only used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Values entered into a date-type grid cell are handled by OLEAUT32 and displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 4-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server/Oracle ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server connection, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Oracle Issues

There is an issue regarding 2-digit year parsing when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900.

The work-around for this is to set your system’s Short Date format to include a 4-digit year.

However, this issue is resolved by installing Visual Studio 6 Service Pack 3.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 6.0 of the Query Designer utilizes ADO, OLEDB, and ODBC functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  6.0   (Romanian)

Product Summary
Product: Visual Database Tools Version: 6.0 Category:Compliant*#
Language: Romanian OS: 32-Bit Win Release Date: 01 Jul 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 2, 2.1, or higher, Visual Studio 6 Service Pack 3.
Product Dependencies: Visual Basic 6.0 Enterprise, Visual C++ 6.0 Enterprise, Visual InterDev 6.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 13 Sep 1999
Product Details

Visual Database Tools

    • Query Designer
    • Database Designer
    • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Operational Range for Data:

SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD

Oracle 7.3: 1/1/4712 BC to 1/1/4712 AD

Access: 1/1/100 AD to 1/1/9999 AD

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes (See Oracle Issues below.)

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are only used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Values entered into a date-type grid cell are handled by OLEAUT32 and displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 4-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server/Oracle ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server connection, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Oracle Issues

There is an issue regarding 2-digit year parsing when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900.

The work-around for this is to set your system’s Short Date format to include a 4-digit year.

However, this issue is resolved by installing Visual Studio 6 Service Pack 3.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 6.0 of the Query Designer utilizes ADO, OLEDB, and ODBC functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  6.0   (Russian)

Product Summary
Product: Visual Database Tools Version: 6.0 Category:Compliant*#
Language: Russian OS: 32-Bit Win Release Date: 01 Jul 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 2, 2.1, or higher, Visual Studio 6 Service Pack 3.
Product Dependencies: Visual Basic 6.0 Enterprise, Visual C++ 6.0 Enterprise, Visual InterDev 6.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 13 Sep 1999
Product Details

Visual Database Tools

    • Query Designer
    • Database Designer
    • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Operational Range for Data:

SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD

Oracle 7.3: 1/1/4712 BC to 1/1/4712 AD

Access: 1/1/100 AD to 1/1/9999 AD

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes (See Oracle Issues below.)

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are only used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Values entered into a date-type grid cell are handled by OLEAUT32 and displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 4-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server/Oracle ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server connection, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Oracle Issues

There is an issue regarding 2-digit year parsing when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900.

The work-around for this is to set your system’s Short Date format to include a 4-digit year.

However, this issue is resolved by installing Visual Studio 6 Service Pack 3.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 6.0 of the Query Designer utilizes ADO, OLEDB, and ODBC functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual Database Tools  6.0   (Spanish)

Product Summary
Product: Visual Database Tools Version: 6.0 Category:Compliant*#
Language: Spanish OS: 32-Bit Win Release Date: 01 Jul 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows NT 4 with Service Pack 3 or higher, Windows 9x, MDAC 2.0-Service Pack 2, 2.1, or higher, Visual Studio 6 Service Pack 3.
Product Dependencies: Visual Basic 6.0 Enterprise, Visual C++ 6.0 Enterprise, Visual InterDev 6.0, Windows NT 4 Service Pack 3 or higher, Windows 9x, OLEAUT32.DLL.
Clock Dependencies: System Clock, OLEAUT32.DLL
Last Updated: 13 Sep 1999
Product Details

Visual Database Tools

    • Query Designer
    • Database Designer
    • Table Designer

Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian contain U.S. software.

Operational Range for Data:

SQL Server 6.5, 7.0: 1/1/1753 AD to 12/31/9999 AD

Oracle 7.3: 1/1/4712 BC to 1/1/4712 AD

Access: 1/1/100 AD to 1/1/9999 AD

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes (See Oracle Issues below.)

How the product runtime handles dates:

The database tools do not have a runtime environment.

Two-digit shortcut handling:

Dates are only used in two places in the database tools, both are in the Query Designer:

The Results Pane allows the user to add new rows of data to their backend database table. Values entered into a date-type grid cell are handled by OLEAUT32 and displayed according to the "Short Date" format in the Calendar section of the Regional Settings Control Panel. A 2-digit year is thus interpreted using the same OLEAUT32 Regional Setting for 2-digit year interpretation, which is between the years 1930 and 2029 by default. Entering a 4-digit value within this range will display it as 2-digits, and a 4-digit value outside this range will be displayed as 4-digits.

The Grid Pane allows the user to specify date selection criteria. Here a date value can be entered into the "Criteria" cell, which will be parsed upon exiting the cell. Using a non-SQL Server/Oracle ODBC connection, date values are converted to an explicit 4-digit format. The interpretation of 2-digit years is once again handled via the OLEAUT32 Regional Settings for 2-digit year conversion.

However, when using a SQL Server connection, valid date values entered into the Grid Pane’s "Criteria" cell are not interpreted via OLEAUT32 settings. They are placed into the SQL pane unchanged. There, SQL Server will interpret a 2-digit year as the century "1900" for values greater than or equal to 50, and as "2000" for values less than 50.

These are design-time issues only; the database tools do not operate in a runtime mode.

Oracle Issues

There is an issue regarding 2-digit year parsing when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900.

The work-around for this is to set your system’s Short Date format to include a 4-digit year.

However, this issue is resolved by installing Visual Studio 6 Service Pack 3.

Recommended practices to develop year 2000 compliant applications:

It is highly recommended that the user switch the Short Date format for year in Regional Settings Control Panel to one with 4-digits, (i.e. "M/d/yyyy") to reduce confusion when working with 2-digit years.

Additionally, it is good practice to use a 4-digit year whenever working with dates.

When working against a SQL Server database, it is advisable to set your Regional Settings Control Panel 2-digit year interpretation to mirror that of your server. By default, this is "1950" and "2049" respectively.

Common development errors dealing with year 2000 date issues:

When working against a SQL Server database on a system with the default 2-digit year in the Short Date format and "1930 to 2029" 2-digit year interpretation, a user could enter a date value into the Results Pane between the years 30 and 49. (This will be stored as the year 1930 to 1949 on the backend.) Upon performing a SELECT statement, such as "SELECT * FROM <table> WHERE <datecolumn> > ‘1/1/35’", only the year 2035 records and higher will be displayed. In this case, it is best to follow the recommended practices mentioned above.

Testing guidelines and recommendations:

Version 6.0 of the Query Designer utilizes ADO, OLEDB, and ODBC functionality to administer user-edits in the Results Pane. Since the Query Designer is designed to work with any ODBC data source, including non-Microsoft drivers, it is advised that customers first test 4-digit date entry on sample databases to verify that dates are handled appropriately. While Microsoft has ensured that their databases and connection mechanisms are year 2000 compliant, it is possible to use the Query Designer with non-Microsoft databases and connection mechanisms.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  3.0b  (Chinese - Simplified)

Product Summary
Product: Visual FoxPro Version: 3.0b Category:Compliant
Language: Chinese - Simplified OS: 16-Bit Win Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 3.1, 3.11, Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5, Macintosh, Power Macintosh
Clock Dependencies: : System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional and Standard editions.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • The developer writes resolution routines where appropriate to ensure that dates entered with 2-digit years are assigned to the desired century before being stored in tables.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Dates with 2-digit years are assumed to be in the 1900s. Even if Century is set to On, entering a 2-digit shortcut for a year will cause the date to be assumed to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are assumed to be in the 1900s.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be assumed to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 3.0 is 2 – Off.

Write Date Resolution Routines to Interpret Dates with 2-digit Years

If users will be entering dates with 2-digit years, developers can write date resolution routines to assign those dates to the desired century for the particular application. For instance, if dates with a year less than 75 are intended to be in the 2000s, the following code can be used in the Valid event of a control on a form to automatically adjust the century portion of entered dates.

Local ldGetDate, lcMonth, lcDay, lcYear

ldGetDate = THIS.Value

IF YEAR(ldGetDate) < 1975

lcMonth = STR(MONTH(ldGetDate))

lcDay = STR(DAY(ldGetDate))

lcYear = STR(YEAR(ldGetDate)+100)

ldGetDate = CTOD(lcMonth+"/"+lcDay+"/"+lcYear)

THIS.Value = ldGetDate

ENDIF

If the ControlSource property is bound to a field (which happens when a field is dragged from the data environment onto the form), the field is automatically updated (with the desired date) when the Value property changes. If the control is not bound directly to a field, you may need to add additional code such as:

REPLACE table.datefield WITH THIS.Value

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is assumed to be in the 1900s. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted to be in the 1900s. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is year 2000 compliant.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The date will be assumed to be in the 1900s. If users will be entering dates with 2-digit years, write a resolution routine, as shown above, to assign those dates to the desired century for the particular application.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows or Macintosh system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  3.0b  (Chinese - Traditional)

Product Summary
Product: Visual FoxPro Version: 3.0b Category:Compliant
Language: Chinese - Traditional OS: 16-Bit Win Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 3.1, 3.11, Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5, Macintosh, Power Macintosh
Clock Dependencies: : System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional and Standard editions.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • The developer writes resolution routines where appropriate to ensure that dates entered with 2-digit years are assigned to the desired century before being stored in tables.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Dates with 2-digit years are assumed to be in the 1900s. Even if Century is set to On, entering a 2-digit shortcut for a year will cause the date to be assumed to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are assumed to be in the 1900s.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be assumed to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 3.0 is 2 – Off.

Write Date Resolution Routines to Interpret Dates with 2-digit Years

If users will be entering dates with 2-digit years, developers can write date resolution routines to assign those dates to the desired century for the particular application. For instance, if dates with a year less than 75 are intended to be in the 2000s, the following code can be used in the Valid event of a control on a form to automatically adjust the century portion of entered dates.

Local ldGetDate, lcMonth, lcDay, lcYear

ldGetDate = THIS.Value

IF YEAR(ldGetDate) < 1975

lcMonth = STR(MONTH(ldGetDate))

lcDay = STR(DAY(ldGetDate))

lcYear = STR(YEAR(ldGetDate)+100)

ldGetDate = CTOD(lcMonth+"/"+lcDay+"/"+lcYear)

THIS.Value = ldGetDate

ENDIF

If the ControlSource property is bound to a field (which happens when a field is dragged from the data environment onto the form), the field is automatically updated (with the desired date) when the Value property changes. If the control is not bound directly to a field, you may need to add additional code such as:

REPLACE table.datefield WITH THIS.Value

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is assumed to be in the 1900s. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted to be in the 1900s. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is year 2000 compliant.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The date will be assumed to be in the 1900s. If users will be entering dates with 2-digit years, write a resolution routine, as shown above, to assign those dates to the desired century for the particular application.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows or Macintosh system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  3.0b  (Czech)

Product Summary
Product: Visual FoxPro Version: 3.0b Category:Compliant
Language: Czech OS: 16-Bit Win Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 3.1, 3.11, Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5, Macintosh, Power Macintosh
Clock Dependencies: : System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional and Standard editions.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • The developer writes resolution routines where appropriate to ensure that dates entered with 2-digit years are assigned to the desired century before being stored in tables.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Dates with 2-digit years are assumed to be in the 1900s. Even if Century is set to On, entering a 2-digit shortcut for a year will cause the date to be assumed to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are assumed to be in the 1900s.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be assumed to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 3.0 is 2 – Off.

Write Date Resolution Routines to Interpret Dates with 2-digit Years

If users will be entering dates with 2-digit years, developers can write date resolution routines to assign those dates to the desired century for the particular application. For instance, if dates with a year less than 75 are intended to be in the 2000s, the following code can be used in the Valid event of a control on a form to automatically adjust the century portion of entered dates.

Local ldGetDate, lcMonth, lcDay, lcYear

ldGetDate = THIS.Value

IF YEAR(ldGetDate) < 1975

lcMonth = STR(MONTH(ldGetDate))

lcDay = STR(DAY(ldGetDate))

lcYear = STR(YEAR(ldGetDate)+100)

ldGetDate = CTOD(lcMonth+"/"+lcDay+"/"+lcYear)

THIS.Value = ldGetDate

ENDIF

If the ControlSource property is bound to a field (which happens when a field is dragged from the data environment onto the form), the field is automatically updated (with the desired date) when the Value property changes. If the control is not bound directly to a field, you may need to add additional code such as:

REPLACE table.datefield WITH THIS.Value

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is assumed to be in the 1900s. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted to be in the 1900s. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is year 2000 compliant.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The date will be assumed to be in the 1900s. If users will be entering dates with 2-digit years, write a resolution routine, as shown above, to assign those dates to the desired century for the particular application.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows or Macintosh system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  3.0b  (English)

Product Summary
Product: Visual FoxPro Version: 3.0b Category:Compliant
Language: English OS: 16-Bit Win Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 3.1, 3.11, Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5, Macintosh, Power Macintosh
Clock Dependencies: : System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional and Standard editions.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • The developer writes resolution routines where appropriate to ensure that dates entered with 2-digit years are assigned to the desired century before being stored in tables.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Dates with 2-digit years are assumed to be in the 1900s. Even if Century is set to On, entering a 2-digit shortcut for a year will cause the date to be assumed to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are assumed to be in the 1900s.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be assumed to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 3.0 is 2 – Off.

Write Date Resolution Routines to Interpret Dates with 2-digit Years

If users will be entering dates with 2-digit years, developers can write date resolution routines to assign those dates to the desired century for the particular application. For instance, if dates with a year less than 75 are intended to be in the 2000s, the following code can be used in the Valid event of a control on a form to automatically adjust the century portion of entered dates.

Local ldGetDate, lcMonth, lcDay, lcYear

ldGetDate = THIS.Value

IF YEAR(ldGetDate) < 1975

lcMonth = STR(MONTH(ldGetDate))

lcDay = STR(DAY(ldGetDate))

lcYear = STR(YEAR(ldGetDate)+100)

ldGetDate = CTOD(lcMonth+"/"+lcDay+"/"+lcYear)

THIS.Value = ldGetDate

ENDIF

If the ControlSource property is bound to a field (which happens when a field is dragged from the data environment onto the form), the field is automatically updated (with the desired date) when the Value property changes. If the control is not bound directly to a field, you may need to add additional code such as:

REPLACE table.datefield WITH THIS.Value

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is assumed to be in the 1900s. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted to be in the 1900s. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is year 2000 compliant.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The date will be assumed to be in the 1900s. If users will be entering dates with 2-digit years, write a resolution routine, as shown above, to assign those dates to the desired century for the particular application.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows or Macintosh system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  3.0b  (English)

Product Summary
Product: Visual FoxPro Version: 3.0b Category:Compliant
Language: English OS: Mac Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 3.1, 3.11, Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5, Macintosh, Power Macintosh
Clock Dependencies: : System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional and Standard editions.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • The developer writes resolution routines where appropriate to ensure that dates entered with 2-digit years are assigned to the desired century before being stored in tables.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Dates with 2-digit years are assumed to be in the 1900s. Even if Century is set to On, entering a 2-digit shortcut for a year will cause the date to be assumed to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are assumed to be in the 1900s.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be assumed to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 3.0 is 2 – Off.

Write Date Resolution Routines to Interpret Dates with 2-digit Years

If users will be entering dates with 2-digit years, developers can write date resolution routines to assign those dates to the desired century for the particular application. For instance, if dates with a year less than 75 are intended to be in the 2000s, the following code can be used in the Valid event of a control on a form to automatically adjust the century portion of entered dates.

Local ldGetDate, lcMonth, lcDay, lcYear

ldGetDate = THIS.Value

IF YEAR(ldGetDate) < 1975

lcMonth = STR(MONTH(ldGetDate))

lcDay = STR(DAY(ldGetDate))

lcYear = STR(YEAR(ldGetDate)+100)

ldGetDate = CTOD(lcMonth+"/"+lcDay+"/"+lcYear)

THIS.Value = ldGetDate

ENDIF

If the ControlSource property is bound to a field (which happens when a field is dragged from the data environment onto the form), the field is automatically updated (with the desired date) when the Value property changes. If the control is not bound directly to a field, you may need to add additional code such as:

REPLACE table.datefield WITH THIS.Value

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is assumed to be in the 1900s. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted to be in the 1900s. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is year 2000 compliant.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The date will be assumed to be in the 1900s. If users will be entering dates with 2-digit years, write a resolution routine, as shown above, to assign those dates to the desired century for the particular application.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows or Macintosh system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  3.0b  (French)

Product Summary
Product: Visual FoxPro Version: 3.0b Category:Compliant
Language: French OS: 16-Bit Win Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 3.1, 3.11, Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5, Macintosh, Power Macintosh
Clock Dependencies: : System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional and Standard editions.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • The developer writes resolution routines where appropriate to ensure that dates entered with 2-digit years are assigned to the desired century before being stored in tables.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Dates with 2-digit years are assumed to be in the 1900s. Even if Century is set to On, entering a 2-digit shortcut for a year will cause the date to be assumed to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are assumed to be in the 1900s.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be assumed to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 3.0 is 2 – Off.

Write Date Resolution Routines to Interpret Dates with 2-digit Years

If users will be entering dates with 2-digit years, developers can write date resolution routines to assign those dates to the desired century for the particular application. For instance, if dates with a year less than 75 are intended to be in the 2000s, the following code can be used in the Valid event of a control on a form to automatically adjust the century portion of entered dates.

Local ldGetDate, lcMonth, lcDay, lcYear

ldGetDate = THIS.Value

IF YEAR(ldGetDate) < 1975

lcMonth = STR(MONTH(ldGetDate))

lcDay = STR(DAY(ldGetDate))

lcYear = STR(YEAR(ldGetDate)+100)

ldGetDate = CTOD(lcMonth+"/"+lcDay+"/"+lcYear)

THIS.Value = ldGetDate

ENDIF

If the ControlSource property is bound to a field (which happens when a field is dragged from the data environment onto the form), the field is automatically updated (with the desired date) when the Value property changes. If the control is not bound directly to a field, you may need to add additional code such as:

REPLACE table.datefield WITH THIS.Value

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is assumed to be in the 1900s. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted to be in the 1900s. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is year 2000 compliant.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The date will be assumed to be in the 1900s. If users will be entering dates with 2-digit years, write a resolution routine, as shown above, to assign those dates to the desired century for the particular application.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows or Macintosh system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  3.0b  (German)

Product Summary
Product: Visual FoxPro Version: 3.0b Category:Compliant
Language: German OS: 16-Bit Win Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 3.1, 3.11, Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5, Macintosh, Power Macintosh
Clock Dependencies: : System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional and Standard editions.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • The developer writes resolution routines where appropriate to ensure that dates entered with 2-digit years are assigned to the desired century before being stored in tables.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Dates with 2-digit years are assumed to be in the 1900s. Even if Century is set to On, entering a 2-digit shortcut for a year will cause the date to be assumed to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are assumed to be in the 1900s.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be assumed to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 3.0 is 2 – Off.

Write Date Resolution Routines to Interpret Dates with 2-digit Years

If users will be entering dates with 2-digit years, developers can write date resolution routines to assign those dates to the desired century for the particular application. For instance, if dates with a year less than 75 are intended to be in the 2000s, the following code can be used in the Valid event of a control on a form to automatically adjust the century portion of entered dates.

Local ldGetDate, lcMonth, lcDay, lcYear

ldGetDate = THIS.Value

IF YEAR(ldGetDate) < 1975

lcMonth = STR(MONTH(ldGetDate))

lcDay = STR(DAY(ldGetDate))

lcYear = STR(YEAR(ldGetDate)+100)

ldGetDate = CTOD(lcMonth+"/"+lcDay+"/"+lcYear)

THIS.Value = ldGetDate

ENDIF

If the ControlSource property is bound to a field (which happens when a field is dragged from the data environment onto the form), the field is automatically updated (with the desired date) when the Value property changes. If the control is not bound directly to a field, you may need to add additional code such as:

REPLACE table.datefield WITH THIS.Value

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is assumed to be in the 1900s. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted to be in the 1900s. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is year 2000 compliant.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The date will be assumed to be in the 1900s. If users will be entering dates with 2-digit years, write a resolution routine, as shown above, to assign those dates to the desired century for the particular application.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows or Macintosh system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  3.0b  (Italian)

Product Summary
Product: Visual FoxPro Version: 3.0b Category:Compliant
Language: Italian OS: 16-Bit Win Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 3.1, 3.11, Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5, Macintosh, Power Macintosh
Clock Dependencies: : System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional and Standard editions.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • The developer writes resolution routines where appropriate to ensure that dates entered with 2-digit years are assigned to the desired century before being stored in tables.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Dates with 2-digit years are assumed to be in the 1900s. Even if Century is set to On, entering a 2-digit shortcut for a year will cause the date to be assumed to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are assumed to be in the 1900s.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be assumed to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 3.0 is 2 – Off.

Write Date Resolution Routines to Interpret Dates with 2-digit Years

If users will be entering dates with 2-digit years, developers can write date resolution routines to assign those dates to the desired century for the particular application. For instance, if dates with a year less than 75 are intended to be in the 2000s, the following code can be used in the Valid event of a control on a form to automatically adjust the century portion of entered dates.

Local ldGetDate, lcMonth, lcDay, lcYear

ldGetDate = THIS.Value

IF YEAR(ldGetDate) < 1975

lcMonth = STR(MONTH(ldGetDate))

lcDay = STR(DAY(ldGetDate))

lcYear = STR(YEAR(ldGetDate)+100)

ldGetDate = CTOD(lcMonth+"/"+lcDay+"/"+lcYear)

THIS.Value = ldGetDate

ENDIF

If the ControlSource property is bound to a field (which happens when a field is dragged from the data environment onto the form), the field is automatically updated (with the desired date) when the Value property changes. If the control is not bound directly to a field, you may need to add additional code such as:

REPLACE table.datefield WITH THIS.Value

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is assumed to be in the 1900s. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted to be in the 1900s. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is year 2000 compliant.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The date will be assumed to be in the 1900s. If users will be entering dates with 2-digit years, write a resolution routine, as shown above, to assign those dates to the desired century for the particular application.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows or Macintosh system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  3.0b  (Polish)

Product Summary
Product: Visual FoxPro Version: 3.0b Category:Compliant
Language: Polish OS: 16-Bit Win Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 3.1, 3.11, Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5, Macintosh, Power Macintosh
Clock Dependencies: : System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional and Standard editions.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • The developer writes resolution routines where appropriate to ensure that dates entered with 2-digit years are assigned to the desired century before being stored in tables.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Dates with 2-digit years are assumed to be in the 1900s. Even if Century is set to On, entering a 2-digit shortcut for a year will cause the date to be assumed to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are assumed to be in the 1900s.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be assumed to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 3.0 is 2 – Off.

Write Date Resolution Routines to Interpret Dates with 2-digit Years

If users will be entering dates with 2-digit years, developers can write date resolution routines to assign those dates to the desired century for the particular application. For instance, if dates with a year less than 75 are intended to be in the 2000s, the following code can be used in the Valid event of a control on a form to automatically adjust the century portion of entered dates.

Local ldGetDate, lcMonth, lcDay, lcYear

ldGetDate = THIS.Value

IF YEAR(ldGetDate) < 1975

lcMonth = STR(MONTH(ldGetDate))

lcDay = STR(DAY(ldGetDate))

lcYear = STR(YEAR(ldGetDate)+100)

ldGetDate = CTOD(lcMonth+"/"+lcDay+"/"+lcYear)

THIS.Value = ldGetDate

ENDIF

If the ControlSource property is bound to a field (which happens when a field is dragged from the data environment onto the form), the field is automatically updated (with the desired date) when the Value property changes. If the control is not bound directly to a field, you may need to add additional code such as:

REPLACE table.datefield WITH THIS.Value

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is assumed to be in the 1900s. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted to be in the 1900s. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is year 2000 compliant.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The date will be assumed to be in the 1900s. If users will be entering dates with 2-digit years, write a resolution routine, as shown above, to assign those dates to the desired century for the particular application.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows or Macintosh system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  3.0b  (Portuguese (Brazil))

Product Summary
Product: Visual FoxPro Version: 3.0b Category:Compliant
Language: Portuguese (Brazil) OS: 16-Bit Win Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 3.1, 3.11, Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5, Macintosh, Power Macintosh
Clock Dependencies: : System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional and Standard editions.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • The developer writes resolution routines where appropriate to ensure that dates entered with 2-digit years are assigned to the desired century before being stored in tables.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Dates with 2-digit years are assumed to be in the 1900s. Even if Century is set to On, entering a 2-digit shortcut for a year will cause the date to be assumed to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are assumed to be in the 1900s.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be assumed to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 3.0 is 2 – Off.

Write Date Resolution Routines to Interpret Dates with 2-digit Years

If users will be entering dates with 2-digit years, developers can write date resolution routines to assign those dates to the desired century for the particular application. For instance, if dates with a year less than 75 are intended to be in the 2000s, the following code can be used in the Valid event of a control on a form to automatically adjust the century portion of entered dates.

Local ldGetDate, lcMonth, lcDay, lcYear

ldGetDate = THIS.Value

IF YEAR(ldGetDate) < 1975

lcMonth = STR(MONTH(ldGetDate))

lcDay = STR(DAY(ldGetDate))

lcYear = STR(YEAR(ldGetDate)+100)

ldGetDate = CTOD(lcMonth+"/"+lcDay+"/"+lcYear)

THIS.Value = ldGetDate

ENDIF

If the ControlSource property is bound to a field (which happens when a field is dragged from the data environment onto the form), the field is automatically updated (with the desired date) when the Value property changes. If the control is not bound directly to a field, you may need to add additional code such as:

REPLACE table.datefield WITH THIS.Value

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is assumed to be in the 1900s. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted to be in the 1900s. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is year 2000 compliant.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The date will be assumed to be in the 1900s. If users will be entering dates with 2-digit years, write a resolution routine, as shown above, to assign those dates to the desired century for the particular application.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows or Macintosh system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  3.0b  (Russian)

Product Summary
Product: Visual FoxPro Version: 3.0b Category:Compliant
Language: Russian OS: 16-Bit Win Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 3.1, 3.11, Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5, Macintosh, Power Macintosh
Clock Dependencies: : System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional and Standard editions.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • The developer writes resolution routines where appropriate to ensure that dates entered with 2-digit years are assigned to the desired century before being stored in tables.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Dates with 2-digit years are assumed to be in the 1900s. Even if Century is set to On, entering a 2-digit shortcut for a year will cause the date to be assumed to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are assumed to be in the 1900s.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be assumed to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 3.0 is 2 – Off.

Write Date Resolution Routines to Interpret Dates with 2-digit Years

If users will be entering dates with 2-digit years, developers can write date resolution routines to assign those dates to the desired century for the particular application. For instance, if dates with a year less than 75 are intended to be in the 2000s, the following code can be used in the Valid event of a control on a form to automatically adjust the century portion of entered dates.

Local ldGetDate, lcMonth, lcDay, lcYear

ldGetDate = THIS.Value

IF YEAR(ldGetDate) < 1975

lcMonth = STR(MONTH(ldGetDate))

lcDay = STR(DAY(ldGetDate))

lcYear = STR(YEAR(ldGetDate)+100)

ldGetDate = CTOD(lcMonth+"/"+lcDay+"/"+lcYear)

THIS.Value = ldGetDate

ENDIF

If the ControlSource property is bound to a field (which happens when a field is dragged from the data environment onto the form), the field is automatically updated (with the desired date) when the Value property changes. If the control is not bound directly to a field, you may need to add additional code such as:

REPLACE table.datefield WITH THIS.Value

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is assumed to be in the 1900s. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted to be in the 1900s. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is year 2000 compliant.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The date will be assumed to be in the 1900s. If users will be entering dates with 2-digit years, write a resolution routine, as shown above, to assign those dates to the desired century for the particular application.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows or Macintosh system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  3.0b  (Spanish)

Product Summary
Product: Visual FoxPro Version: 3.0b Category:Compliant
Language: Spanish OS: 16-Bit Win Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 3.1, 3.11, Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5, Macintosh, Power Macintosh
Clock Dependencies: : System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional and Standard editions.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • The developer writes resolution routines where appropriate to ensure that dates entered with 2-digit years are assigned to the desired century before being stored in tables.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Dates with 2-digit years are assumed to be in the 1900s. Even if Century is set to On, entering a 2-digit shortcut for a year will cause the date to be assumed to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are assumed to be in the 1900s.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be assumed to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 3.0 is 2 – Off.

Write Date Resolution Routines to Interpret Dates with 2-digit Years

If users will be entering dates with 2-digit years, developers can write date resolution routines to assign those dates to the desired century for the particular application. For instance, if dates with a year less than 75 are intended to be in the 2000s, the following code can be used in the Valid event of a control on a form to automatically adjust the century portion of entered dates.

Local ldGetDate, lcMonth, lcDay, lcYear

ldGetDate = THIS.Value

IF YEAR(ldGetDate) < 1975

lcMonth = STR(MONTH(ldGetDate))

lcDay = STR(DAY(ldGetDate))

lcYear = STR(YEAR(ldGetDate)+100)

ldGetDate = CTOD(lcMonth+"/"+lcDay+"/"+lcYear)

THIS.Value = ldGetDate

ENDIF

If the ControlSource property is bound to a field (which happens when a field is dragged from the data environment onto the form), the field is automatically updated (with the desired date) when the Value property changes. If the control is not bound directly to a field, you may need to add additional code such as:

REPLACE table.datefield WITH THIS.Value

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is assumed to be in the 1900s. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted to be in the 1900s. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is year 2000 compliant.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The date will be assumed to be in the 1900s. If users will be entering dates with 2-digit years, write a resolution routine, as shown above, to assign those dates to the desired century for the particular application.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows or Macintosh system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  5.0   (Chinese - Simplified)

Product Summary
Product: Visual FoxPro Version: 5.0 Category:Compliant
Language: Chinese - Simplified OS: 32-Bit Win Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5
Clock Dependencies: System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional edition.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • Set Century To Rollover is used to specify the year equal to and above which a 2-digit year is in the 1900s and below which a 2-digit year is in the 2000s.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are interpreted based on the setting of Set Century To Rollover.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be interpreted based on the setting of Set Century To Rollover.

Set Century To Rollover

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 5.0 is 2 – Off.

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is interpreted based on the setting of Set Century To Rollover. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Microsoft has provided an update that changes the behavior of LUPDATE()

With this update to Visual FoxPro 5.0, LUPDATE() will behave as it does in Visual FoxPro 6.0. LUPDATE( ) will query the Windows operating system to determine the date a table was last updated, allowing users to determine the century in which the table was updated. Still, however, the table header will store the last 2 digits of the year it was last updated. This is done to ensure backward compatibility with other versions of FoxPro.

Please visit http://msdn.microsoft.com/vfoxpro/downloads/vfp5-y2k.asp for more information and to download the update.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted based on the setting of Set Century To Rollover. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Other Issues to Consider

The Visual FoxPro 5.0 documentation states that issuing SET CENTURY TO without additional arguments sets the century to the current century. This is only true in the 1900s, because the century is set to 19 regardless of the current century. In Visual FoxPro 5.0 the default rollover value is 0.

In Visual FoxPro 5.0, the smallest date value that can be expressed is {^0100/1/1}, January 1, 100 A.D. This is because year values less than 100 were rounded up to the nearest century based on the setting of SET CENTURY.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is Year 2000 compliant.

Visual FoxPro uses a default for SET CENTURY ROLLOVER. The default ROLLOVER value for SET CENTURY is 0. This means that if SET CENTURY ROLLOVER is not explicitly used, Visual FoxPro will assume that dates with 2-digit years are in the 1900s.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The century will be determined based on SET CENTURY ROLLOVER, which defaults to 0.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  5.0   (Chinese - Traditional)

Product Summary
Product: Visual FoxPro Version: 5.0 Category:Compliant
Language: Chinese - Traditional OS: 32-Bit Win Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5
Clock Dependencies: System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional edition.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • Set Century To Rollover is used to specify the year equal to and above which a 2-digit year is in the 1900s and below which a 2-digit year is in the 2000s.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are interpreted based on the setting of Set Century To Rollover.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be interpreted based on the setting of Set Century To Rollover.

Set Century To Rollover

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 5.0 is 2 – Off.

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is interpreted based on the setting of Set Century To Rollover. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Microsoft has provided an update that changes the behavior of LUPDATE()

With this update to Visual FoxPro 5.0, LUPDATE() will behave as it does in Visual FoxPro 6.0. LUPDATE( ) will query the Windows operating system to determine the date a table was last updated, allowing users to determine the century in which the table was updated. Still, however, the table header will store the last 2 digits of the year it was last updated. This is done to ensure backward compatibility with other versions of FoxPro.

Please visit http://msdn.microsoft.com/vfoxpro/downloads/vfp5-y2k.asp for more information and to download the update.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted based on the setting of Set Century To Rollover. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Other Issues to Consider

The Visual FoxPro 5.0 documentation states that issuing SET CENTURY TO without additional arguments sets the century to the current century. This is only true in the 1900s, because the century is set to 19 regardless of the current century. In Visual FoxPro 5.0 the default rollover value is 0.

In Visual FoxPro 5.0, the smallest date value that can be expressed is {^0100/1/1}, January 1, 100 A.D. This is because year values less than 100 were rounded up to the nearest century based on the setting of SET CENTURY.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is Year 2000 compliant.

Visual FoxPro uses a default for SET CENTURY ROLLOVER. The default ROLLOVER value for SET CENTURY is 0. This means that if SET CENTURY ROLLOVER is not explicitly used, Visual FoxPro will assume that dates with 2-digit years are in the 1900s.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The century will be determined based on SET CENTURY ROLLOVER, which defaults to 0.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  5.0   (Czech)

Product Summary
Product: Visual FoxPro Version: 5.0 Category:Compliant
Language: Czech OS: 32-Bit Win Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5
Clock Dependencies: System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional edition.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • Set Century To Rollover is used to specify the year equal to and above which a 2-digit year is in the 1900s and below which a 2-digit year is in the 2000s.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are interpreted based on the setting of Set Century To Rollover.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be interpreted based on the setting of Set Century To Rollover.

Set Century To Rollover

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 5.0 is 2 – Off.

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is interpreted based on the setting of Set Century To Rollover. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Microsoft has provided an update that changes the behavior of LUPDATE()

With this update to Visual FoxPro 5.0, LUPDATE() will behave as it does in Visual FoxPro 6.0. LUPDATE( ) will query the Windows operating system to determine the date a table was last updated, allowing users to determine the century in which the table was updated. Still, however, the table header will store the last 2 digits of the year it was last updated. This is done to ensure backward compatibility with other versions of FoxPro.

Please visit http://msdn.microsoft.com/vfoxpro/downloads/vfp5-y2k.asp for more information and to download the update.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted based on the setting of Set Century To Rollover. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Other Issues to Consider

The Visual FoxPro 5.0 documentation states that issuing SET CENTURY TO without additional arguments sets the century to the current century. This is only true in the 1900s, because the century is set to 19 regardless of the current century. In Visual FoxPro 5.0 the default rollover value is 0.

In Visual FoxPro 5.0, the smallest date value that can be expressed is {^0100/1/1}, January 1, 100 A.D. This is because year values less than 100 were rounded up to the nearest century based on the setting of SET CENTURY.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is Year 2000 compliant.

Visual FoxPro uses a default for SET CENTURY ROLLOVER. The default ROLLOVER value for SET CENTURY is 0. This means that if SET CENTURY ROLLOVER is not explicitly used, Visual FoxPro will assume that dates with 2-digit years are in the 1900s.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The century will be determined based on SET CENTURY ROLLOVER, which defaults to 0.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  5.0   (English)

Product Summary
Product: Visual FoxPro Version: 5.0 Category:Compliant
Language: English OS: 32-Bit Win Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5
Clock Dependencies: System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional edition.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • Set Century To Rollover is used to specify the year equal to and above which a 2-digit year is in the 1900s and below which a 2-digit year is in the 2000s.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are interpreted based on the setting of Set Century To Rollover.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be interpreted based on the setting of Set Century To Rollover.

Set Century To Rollover

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 5.0 is 2 – Off.

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is interpreted based on the setting of Set Century To Rollover. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Microsoft has provided an update that changes the behavior of LUPDATE()

With this update to Visual FoxPro 5.0, LUPDATE() will behave as it does in Visual FoxPro 6.0. LUPDATE( ) will query the Windows operating system to determine the date a table was last updated, allowing users to determine the century in which the table was updated. Still, however, the table header will store the last 2 digits of the year it was last updated. This is done to ensure backward compatibility with other versions of FoxPro.

Please visit http://msdn.microsoft.com/vfoxpro/downloads/vfp5-y2k.asp for more information and to download the update.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted based on the setting of Set Century To Rollover. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Other Issues to Consider

The Visual FoxPro 5.0 documentation states that issuing SET CENTURY TO without additional arguments sets the century to the current century. This is only true in the 1900s, because the century is set to 19 regardless of the current century. In Visual FoxPro 5.0 the default rollover value is 0.

In Visual FoxPro 5.0, the smallest date value that can be expressed is {^0100/1/1}, January 1, 100 A.D. This is because year values less than 100 were rounded up to the nearest century based on the setting of SET CENTURY.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is Year 2000 compliant.

Visual FoxPro uses a default for SET CENTURY ROLLOVER. The default ROLLOVER value for SET CENTURY is 0. This means that if SET CENTURY ROLLOVER is not explicitly used, Visual FoxPro will assume that dates with 2-digit years are in the 1900s.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The century will be determined based on SET CENTURY ROLLOVER, which defaults to 0.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  5.0   (French)

Product Summary
Product: Visual FoxPro Version: 5.0 Category:Compliant
Language: French OS: 32-Bit Win Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5
Clock Dependencies: System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional edition.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • Set Century To Rollover is used to specify the year equal to and above which a 2-digit year is in the 1900s and below which a 2-digit year is in the 2000s.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are interpreted based on the setting of Set Century To Rollover.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be interpreted based on the setting of Set Century To Rollover.

Set Century To Rollover

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 5.0 is 2 – Off.

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is interpreted based on the setting of Set Century To Rollover. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Microsoft has provided an update that changes the behavior of LUPDATE()

With this update to Visual FoxPro 5.0, LUPDATE() will behave as it does in Visual FoxPro 6.0. LUPDATE( ) will query the Windows operating system to determine the date a table was last updated, allowing users to determine the century in which the table was updated. Still, however, the table header will store the last 2 digits of the year it was last updated. This is done to ensure backward compatibility with other versions of FoxPro.

Please visit http://msdn.microsoft.com/vfoxpro/downloads/vfp5-y2k.asp for more information and to download the update.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted based on the setting of Set Century To Rollover. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Other Issues to Consider

The Visual FoxPro 5.0 documentation states that issuing SET CENTURY TO without additional arguments sets the century to the current century. This is only true in the 1900s, because the century is set to 19 regardless of the current century. In Visual FoxPro 5.0 the default rollover value is 0.

In Visual FoxPro 5.0, the smallest date value that can be expressed is {^0100/1/1}, January 1, 100 A.D. This is because year values less than 100 were rounded up to the nearest century based on the setting of SET CENTURY.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is Year 2000 compliant.

Visual FoxPro uses a default for SET CENTURY ROLLOVER. The default ROLLOVER value for SET CENTURY is 0. This means that if SET CENTURY ROLLOVER is not explicitly used, Visual FoxPro will assume that dates with 2-digit years are in the 1900s.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The century will be determined based on SET CENTURY ROLLOVER, which defaults to 0.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  5.0   (German)

Product Summary
Product: Visual FoxPro Version: 5.0 Category:Compliant
Language: German OS: 32-Bit Win Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5
Clock Dependencies: System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional edition.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • Set Century To Rollover is used to specify the year equal to and above which a 2-digit year is in the 1900s and below which a 2-digit year is in the 2000s.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are interpreted based on the setting of Set Century To Rollover.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be interpreted based on the setting of Set Century To Rollover.

Set Century To Rollover

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 5.0 is 2 – Off.

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is interpreted based on the setting of Set Century To Rollover. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Microsoft has provided an update that changes the behavior of LUPDATE()

With this update to Visual FoxPro 5.0, LUPDATE() will behave as it does in Visual FoxPro 6.0. LUPDATE( ) will query the Windows operating system to determine the date a table was last updated, allowing users to determine the century in which the table was updated. Still, however, the table header will store the last 2 digits of the year it was last updated. This is done to ensure backward compatibility with other versions of FoxPro.

Please visit http://msdn.microsoft.com/vfoxpro/downloads/vfp5-y2k.asp for more information and to download the update.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted based on the setting of Set Century To Rollover. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Other Issues to Consider

The Visual FoxPro 5.0 documentation states that issuing SET CENTURY TO without additional arguments sets the century to the current century. This is only true in the 1900s, because the century is set to 19 regardless of the current century. In Visual FoxPro 5.0 the default rollover value is 0.

In Visual FoxPro 5.0, the smallest date value that can be expressed is {^0100/1/1}, January 1, 100 A.D. This is because year values less than 100 were rounded up to the nearest century based on the setting of SET CENTURY.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is Year 2000 compliant.

Visual FoxPro uses a default for SET CENTURY ROLLOVER. The default ROLLOVER value for SET CENTURY is 0. This means that if SET CENTURY ROLLOVER is not explicitly used, Visual FoxPro will assume that dates with 2-digit years are in the 1900s.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The century will be determined based on SET CENTURY ROLLOVER, which defaults to 0.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  5.0   (Hebrew)

Product Summary
Product: Visual FoxPro Version: 5.0 Category:Compliant
Language: Hebrew OS: 32-Bit Win Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5
Clock Dependencies: System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional edition.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • Set Century To Rollover is used to specify the year equal to and above which a 2-digit year is in the 1900s and below which a 2-digit year is in the 2000s.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are interpreted based on the setting of Set Century To Rollover.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be interpreted based on the setting of Set Century To Rollover.

Set Century To Rollover

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 5.0 is 2 – Off.

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is interpreted based on the setting of Set Century To Rollover. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Microsoft has provided an update that changes the behavior of LUPDATE()

With this update to Visual FoxPro 5.0, LUPDATE() will behave as it does in Visual FoxPro 6.0. LUPDATE( ) will query the Windows operating system to determine the date a table was last updated, allowing users to determine the century in which the table was updated. Still, however, the table header will store the last 2 digits of the year it was last updated. This is done to ensure backward compatibility with other versions of FoxPro.

Please visit http://msdn.microsoft.com/vfoxpro/downloads/vfp5-y2k.asp for more information and to download the update.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted based on the setting of Set Century To Rollover. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Other Issues to Consider

The Visual FoxPro 5.0 documentation states that issuing SET CENTURY TO without additional arguments sets the century to the current century. This is only true in the 1900s, because the century is set to 19 regardless of the current century. In Visual FoxPro 5.0 the default rollover value is 0.

In Visual FoxPro 5.0, the smallest date value that can be expressed is {^0100/1/1}, January 1, 100 A.D. This is because year values less than 100 were rounded up to the nearest century based on the setting of SET CENTURY.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is Year 2000 compliant.

Visual FoxPro uses a default for SET CENTURY ROLLOVER. The default ROLLOVER value for SET CENTURY is 0. This means that if SET CENTURY ROLLOVER is not explicitly used, Visual FoxPro will assume that dates with 2-digit years are in the 1900s.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The century will be determined based on SET CENTURY ROLLOVER, which defaults to 0.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  5.0   (Korean)

Product Summary
Product: Visual FoxPro Version: 5.0 Category:Compliant
Language: Korean OS: 32-Bit Win Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5
Clock Dependencies: System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional edition.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • Set Century To Rollover is used to specify the year equal to and above which a 2-digit year is in the 1900s and below which a 2-digit year is in the 2000s.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are interpreted based on the setting of Set Century To Rollover.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be interpreted based on the setting of Set Century To Rollover.

Set Century To Rollover

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 5.0 is 2 – Off.

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is interpreted based on the setting of Set Century To Rollover. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Microsoft has provided an update that changes the behavior of LUPDATE()

With this update to Visual FoxPro 5.0, LUPDATE() will behave as it does in Visual FoxPro 6.0. LUPDATE( ) will query the Windows operating system to determine the date a table was last updated, allowing users to determine the century in which the table was updated. Still, however, the table header will store the last 2 digits of the year it was last updated. This is done to ensure backward compatibility with other versions of FoxPro.

Please visit http://msdn.microsoft.com/vfoxpro/downloads/vfp5-y2k.asp for more information and to download the update.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted based on the setting of Set Century To Rollover. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Other Issues to Consider

The Visual FoxPro 5.0 documentation states that issuing SET CENTURY TO without additional arguments sets the century to the current century. This is only true in the 1900s, because the century is set to 19 regardless of the current century. In Visual FoxPro 5.0 the default rollover value is 0.

In Visual FoxPro 5.0, the smallest date value that can be expressed is {^0100/1/1}, January 1, 100 A.D. This is because year values less than 100 were rounded up to the nearest century based on the setting of SET CENTURY.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is Year 2000 compliant.

Visual FoxPro uses a default for SET CENTURY ROLLOVER. The default ROLLOVER value for SET CENTURY is 0. This means that if SET CENTURY ROLLOVER is not explicitly used, Visual FoxPro will assume that dates with 2-digit years are in the 1900s.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The century will be determined based on SET CENTURY ROLLOVER, which defaults to 0.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  5.0   (Polish)

Product Summary
Product: Visual FoxPro Version: 5.0 Category:Compliant
Language: Polish OS: 32-Bit Win Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5
Clock Dependencies: System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional edition.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • Set Century To Rollover is used to specify the year equal to and above which a 2-digit year is in the 1900s and below which a 2-digit year is in the 2000s.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are interpreted based on the setting of Set Century To Rollover.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be interpreted based on the setting of Set Century To Rollover.

Set Century To Rollover

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 5.0 is 2 – Off.

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is interpreted based on the setting of Set Century To Rollover. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Microsoft has provided an update that changes the behavior of LUPDATE()

With this update to Visual FoxPro 5.0, LUPDATE() will behave as it does in Visual FoxPro 6.0. LUPDATE( ) will query the Windows operating system to determine the date a table was last updated, allowing users to determine the century in which the table was updated. Still, however, the table header will store the last 2 digits of the year it was last updated. This is done to ensure backward compatibility with other versions of FoxPro.

Please visit http://msdn.microsoft.com/vfoxpro/downloads/vfp5-y2k.asp for more information and to download the update.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted based on the setting of Set Century To Rollover. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Other Issues to Consider

The Visual FoxPro 5.0 documentation states that issuing SET CENTURY TO without additional arguments sets the century to the current century. This is only true in the 1900s, because the century is set to 19 regardless of the current century. In Visual FoxPro 5.0 the default rollover value is 0.

In Visual FoxPro 5.0, the smallest date value that can be expressed is {^0100/1/1}, January 1, 100 A.D. This is because year values less than 100 were rounded up to the nearest century based on the setting of SET CENTURY.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is Year 2000 compliant.

Visual FoxPro uses a default for SET CENTURY ROLLOVER. The default ROLLOVER value for SET CENTURY is 0. This means that if SET CENTURY ROLLOVER is not explicitly used, Visual FoxPro will assume that dates with 2-digit years are in the 1900s.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The century will be determined based on SET CENTURY ROLLOVER, which defaults to 0.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  5.0   (Portuguese (Brazil))

Product Summary
Product: Visual FoxPro Version: 5.0 Category:Compliant
Language: Portuguese (Brazil) OS: 32-Bit Win Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5
Clock Dependencies: System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional edition.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • Set Century To Rollover is used to specify the year equal to and above which a 2-digit year is in the 1900s and below which a 2-digit year is in the 2000s.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are interpreted based on the setting of Set Century To Rollover.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be interpreted based on the setting of Set Century To Rollover.

Set Century To Rollover

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 5.0 is 2 – Off.

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is interpreted based on the setting of Set Century To Rollover. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Microsoft has provided an update that changes the behavior of LUPDATE()

With this update to Visual FoxPro 5.0, LUPDATE() will behave as it does in Visual FoxPro 6.0. LUPDATE( ) will query the Windows operating system to determine the date a table was last updated, allowing users to determine the century in which the table was updated. Still, however, the table header will store the last 2 digits of the year it was last updated. This is done to ensure backward compatibility with other versions of FoxPro.

Please visit http://msdn.microsoft.com/vfoxpro/downloads/vfp5-y2k.asp for more information and to download the update.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted based on the setting of Set Century To Rollover. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Other Issues to Consider

The Visual FoxPro 5.0 documentation states that issuing SET CENTURY TO without additional arguments sets the century to the current century. This is only true in the 1900s, because the century is set to 19 regardless of the current century. In Visual FoxPro 5.0 the default rollover value is 0.

In Visual FoxPro 5.0, the smallest date value that can be expressed is {^0100/1/1}, January 1, 100 A.D. This is because year values less than 100 were rounded up to the nearest century based on the setting of SET CENTURY.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is Year 2000 compliant.

Visual FoxPro uses a default for SET CENTURY ROLLOVER. The default ROLLOVER value for SET CENTURY is 0. This means that if SET CENTURY ROLLOVER is not explicitly used, Visual FoxPro will assume that dates with 2-digit years are in the 1900s.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The century will be determined based on SET CENTURY ROLLOVER, which defaults to 0.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  5.0   (Russian)

Product Summary
Product: Visual FoxPro Version: 5.0 Category:Compliant
Language: Russian OS: 32-Bit Win Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5
Clock Dependencies: System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional edition.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • Set Century To Rollover is used to specify the year equal to and above which a 2-digit year is in the 1900s and below which a 2-digit year is in the 2000s.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are interpreted based on the setting of Set Century To Rollover.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be interpreted based on the setting of Set Century To Rollover.

Set Century To Rollover

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 5.0 is 2 – Off.

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is interpreted based on the setting of Set Century To Rollover. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Microsoft has provided an update that changes the behavior of LUPDATE()

With this update to Visual FoxPro 5.0, LUPDATE() will behave as it does in Visual FoxPro 6.0. LUPDATE( ) will query the Windows operating system to determine the date a table was last updated, allowing users to determine the century in which the table was updated. Still, however, the table header will store the last 2 digits of the year it was last updated. This is done to ensure backward compatibility with other versions of FoxPro.

Please visit http://msdn.microsoft.com/vfoxpro/downloads/vfp5-y2k.asp for more information and to download the update.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted based on the setting of Set Century To Rollover. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Other Issues to Consider

The Visual FoxPro 5.0 documentation states that issuing SET CENTURY TO without additional arguments sets the century to the current century. This is only true in the 1900s, because the century is set to 19 regardless of the current century. In Visual FoxPro 5.0 the default rollover value is 0.

In Visual FoxPro 5.0, the smallest date value that can be expressed is {^0100/1/1}, January 1, 100 A.D. This is because year values less than 100 were rounded up to the nearest century based on the setting of SET CENTURY.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is Year 2000 compliant.

Visual FoxPro uses a default for SET CENTURY ROLLOVER. The default ROLLOVER value for SET CENTURY is 0. This means that if SET CENTURY ROLLOVER is not explicitly used, Visual FoxPro will assume that dates with 2-digit years are in the 1900s.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The century will be determined based on SET CENTURY ROLLOVER, which defaults to 0.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  5.0   (Spanish)

Product Summary
Product: Visual FoxPro Version: 5.0 Category:Compliant
Language: Spanish OS: 32-Bit Win Release Date: 01 Jan 1995
Operational Range: 01 Jan 100 - 31 Dec 9999
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, Windows NT 3.51 Service Pack 5, SQL Server 6.5 Service Pack 5
Clock Dependencies: System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional edition.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • Set Century To Rollover is used to specify the year equal to and above which a 2-digit year is in the 1900s and below which a 2-digit year is in the 2000s.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Two-digit shortcut handling:

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Recommended practices to develop year 2000 compliant applications:

Set Century On

This feature of the product causes FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are interpreted based on the setting of Set Century To Rollover.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be interpreted based on the setting of Set Century To Rollover.

Set Century To Rollover

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default is for dates with 2-digit years to be in the 1900s.

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 5.0 is 2 – Off.

It Is Recommended that LUPDATE() Not Be Used

LUPDATE() returns the date that a table was last updated. This date is read directly from the .dbf table header. However, because only two digits of the year are stored in the table header, the date the table was last updated is interpreted based on the setting of Set Century To Rollover. Use the FDATE() function instead. A developer who wishes to use LUPDATE() must write a rollover routine to assign the 2-digit year it returns to the appropriate century.

Microsoft has provided an update that changes the behavior of LUPDATE()

With this update to Visual FoxPro 5.0, LUPDATE() will behave as it does in Visual FoxPro 6.0. LUPDATE( ) will query the Windows operating system to determine the date a table was last updated, allowing users to determine the century in which the table was updated. Still, however, the table header will store the last 2 digits of the year it was last updated. This is done to ensure backward compatibility with other versions of FoxPro.

Please visit http://msdn.microsoft.com/vfoxpro/downloads/vfp5-y2k.asp for more information and to download the update.

Use 4-digit Years in Date Constants

Date constants of the form {mm/dd/yy} are valid. However, they are interpreted based on the setting of Set Century To Rollover. The recommended approach is to specify 4-digit years, e.g. {mm/dd/yyyy}.

Other Issues to Consider

The Visual FoxPro 5.0 documentation states that issuing SET CENTURY TO without additional arguments sets the century to the current century. This is only true in the 1900s, because the century is set to 19 regardless of the current century. In Visual FoxPro 5.0 the default rollover value is 0.

In Visual FoxPro 5.0, the smallest date value that can be expressed is {^0100/1/1}, January 1, 100 A.D. This is because year values less than 100 were rounded up to the nearest century based on the setting of SET CENTURY.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is Year 2000 compliant.

Visual FoxPro uses a default for SET CENTURY ROLLOVER. The default ROLLOVER value for SET CENTURY is 0. This means that if SET CENTURY ROLLOVER is not explicitly used, Visual FoxPro will assume that dates with 2-digit years are in the 1900s.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The century will be determined based on SET CENTURY ROLLOVER, which defaults to 0.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Investigate the following areas of the product:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause problems.

Test the application under an actual year 2000 situation by setting the Windows system to a date in the 2000s.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  6.0   (Chinese - Simplified)

Product Summary
Product: Visual FoxPro Version: 6.0 Category:Compliant*
Language: Chinese - Simplified OS: 32-Bit Win Release Date: 01 Jan 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Visual Studio 6.0 Service Pack 3
Product Dependencies: Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, SQL Server 6.5 Service Pack 5, MDAC 2.0 or greater
Clock Dependencies: System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional edition.

Operational Range for Data: When using strict date formats, {^0001-01-01}, January 1st, 1 A.D. to {^9999-12-31}, December 31st, 9999 A.D.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • Set Century To Rollover is used to specify the year equal to and above which a 2-digit year is in the 1900s and below which a 2-digit year is in the 2000s.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Clock Dependencies

The system clock is used to determine DATE(), TIME(), SECONDS() and DATETIME(). YEAR(), MONTH(), DAY(), DOW(), CDOW(), HOUR(), MINUTE(), and SECS() are not dependent upon the system clock but use the date value argument.

Two-digit shortcut handling:

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default value for the rollover year is the last 2 digits of the current year plus 50 years - if the current year is 1999, then the rollover year becomes 2049 (1999 + 50).

Recommended practices to develop year 2000 compliant applications:

Use Set Century On

Set Century On causes Visual FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are interpreted based on the setting of Set Century To Rollover.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be interpreted based on the setting of Set Century To Rollover.

Use Set Century To Rollover

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default value for the rollover year is the last 2 digits of the current year plus 50 years - if the current year is 1999, then the rollover year becomes 2049 (1999 + 50).

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 6.0 is 1 – On.

Use the Strict Date Format

Normally, Date and DateTime constants or expressions are interpreted based on the current settings of SET DATE and SET CENTURY at the time the constants or expressions are compiled or evaluated. This means that many date constants are ambiguous since they might evaluate to different values depending upon when they were compiled and what date settings were in effect at compilation time.

To avoid ambiguity, use the strict date format. A strict date evaluates to the same Date or DateTime value regardless of date settings. The strict date format is: ^yyyy-mm-dd[,][hh[:mm[:ss]][a|p]]

Use Strict Date Checking

Setting STRICTDATE to 1 requires that Date and DateTime constants be in the strict date format. Date or DateTime constants that are not in the strict format or evaluate to an invalid value generate an error, either during compilation, at run time, or during an interactive Visual FoxPro session. 1 is the default setting for an interactive Visual FoxPro session. Setting STRICTDATE to 0 means that strict date format checking is off. 0 is the default setting for the Visual FoxPro run time and ODBC driver.

The General tab of the Options dialog box now includes a Year 2000 Compliance drop-down list box, which specifies the setting of SET STRICTDATE. Like other Options dialog items, the value is set for the current Visual FoxPro session, and choosing Set As Default saves the setting to the Windows registry for the next Visual FoxPro session.

It Is Recommended that CTOD( ) and CTOT( ) Not Be Used

If the application has SET CENTURY OFF, search the code for CTOD( ) and CTOT( ) commands and change them to DATE( ) or DATETIME( ) functions. Also, consider using DTOS( ) instead of DTOC( ) if converting from a date to character expression. The DTOS( ) function will return a 4-digit year regardless of SET CENTURY setting.

DATE( ) and DATETIME( ) Functions

The DATE( ) and DATETIME( ) functions now support optional numeric arguments that lets users create year 2000 compliant Date or DateTime values. The enhancements to these functions now provide a preferable method for creating Date and DateTime values; it is no longer necessary to use character manipulation functions to create Date and DateTime values.

FDATE( ) Function

The FDATE( ) function now supports an optional argument that lets users determine the time when a file was last modified without using character manipulation functions. For example, in previous versions of Visual FoxPro, it was necessary to write code such as the following to determine when the Visual FoxPro resource file was last modified:

tLastModified = CTOT(DTOC(FDATE(‘Foxuser.dbf’)) + ‘ ’ + FTIME(‘Foxuser.dbf’)

This code can now be replaced with the following:

tLastModified = FDATE(‘Foxuser.dbf’, 1)

Other Issues to Consider

The Visual FoxPro 5.0 documentation states that issuing SET CENTURY TO without additional arguments sets the century to the current century. This is only true in the 1900s, because the century is set to 19 regardless of the current century. In Visual FoxPro 5.0 the default rollover value is 0. In contrast, in Visual FoxPro 6.0, SET CENTURY TO sets the century to the current century. Additionally, the value of SET CENTURY TO in new data sessions is initialized to the current century.

In Visual FoxPro 6.0, the default ROLLOVER value for SET CENTURY has changed to the last 2 digits of the current year plus 50 years - if the current year is 1998, then nYear is 48, and the default rollover value becomes 2048 (1998 + 50).

In Visual FoxPro 5.0, the smallest date value that can be expressed is {^0100/1/1}, January 1, 100 A.D. This is because year values less than 100 were rounded up to the nearest century based on the setting of SET CENTURY. The smallest valid date in Visual FoxPro 6.0 is {^0001-01-01}, January 1, 1 A.D. The largest valid date in Visual FoxPro 6.0 is {^9999-12-31}, December 31, 9999 A.D.

In Visual FoxPro 6.0, LUPDATE( ) now queries the Windows operating system to determine the date a table was last updated, allowing users to determine the century in which the table was updated. Still, however, the table header just stores the last 2 digits of the year it was last updated. This is done to ensure backward compatibility with other versions of FoxPro.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Note: A date issue has been identified with VFP6.EXE, VFP6R.DLL and VFP6T.DLL. Programs using one of these components to represent dates in an @GET do not display the year correctly when the @GET loses focus. For example, running the following code results in the value of the date field being displayed as 2001 when the TextBox has focus, and 2020 when it does not.

CLEAR

SET CENTURY OFF

dDate = {^1999/04/05}

cString = "Another GET"

@ 1,1 GET dDate SIZE 1,10 FONT "Courier New",10

@ 3,1 GET cString FONT "Courier New",10

READ CYCLE

A product update that addresses this issue is available at http://msdn.microsoft.com/vstudio/sp.

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is year 2000 compliant.

Visual FoxPro uses a default for SET CENTURY ROLLOVER. The default ROLLOVER value for SET CENTURY is the last 2 digits of the current year plus 50 years. This may or may not be the appropriate setting for a specific application.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The century will be determined based on SET CENTURY ROLLOVER. This may or may not be the appropriate setting for a specific application.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Note: A date issue has been identified with VFP6.EXE, VFP6R.DLL and VFP6T.DLL. Programs using one of these components to represent dates in an @GET do not display the year correctly when the @GET loses focus. For example, running the following code results in the value of the date field being displayed as 2001 when the TextBox has focus, and 2020 when it does not.

CLEAR

SET CENTURY OFF

dDate = {^1999/04/05}

cString = "Another GET"

@ 1,1 GET dDate Size 1,10 Font "Courier New",10

@ 3,1 GET cString Font "Courier New",10

READ CYCLE

 

To update these components to prevent this from happening, install Visual Studio 6.0 Service Pack 3.

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Use the SET STRICTDATE command and then compile the application. When users SET STRICTDATE to 1 or 2, this command will detect ambiguous dates during code compilation.

Investigate areas of the product that are not affected by the strict date checking, including:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause behavior issues.

Test the application under an actual year 2000 situation by setting the Windows system to a date in the 2000s.

 

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  6.0   (Chinese - Traditional)

Product Summary
Product: Visual FoxPro Version: 6.0 Category:Compliant*
Language: Chinese - Traditional OS: 32-Bit Win Release Date: 01 Jan 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Visual Studio 6.0 Service Pack 3
Product Dependencies: Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, SQL Server 6.5 Service Pack 5, MDAC 2.0 or greater
Clock Dependencies: System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional edition.

Operational Range for Data: When using strict date formats, {^0001-01-01}, January 1st, 1 A.D. to {^9999-12-31}, December 31st, 9999 A.D.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • Set Century To Rollover is used to specify the year equal to and above which a 2-digit year is in the 1900s and below which a 2-digit year is in the 2000s.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Clock Dependencies

The system clock is used to determine DATE(), TIME(), SECONDS() and DATETIME(). YEAR(), MONTH(), DAY(), DOW(), CDOW(), HOUR(), MINUTE(), and SECS() are not dependent upon the system clock but use the date value argument.

Two-digit shortcut handling:

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default value for the rollover year is the last 2 digits of the current year plus 50 years - if the current year is 1999, then the rollover year becomes 2049 (1999 + 50).

Recommended practices to develop year 2000 compliant applications:

Use Set Century On

Set Century On causes Visual FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are interpreted based on the setting of Set Century To Rollover.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be interpreted based on the setting of Set Century To Rollover.

Use Set Century To Rollover

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default value for the rollover year is the last 2 digits of the current year plus 50 years - if the current year is 1999, then the rollover year becomes 2049 (1999 + 50).

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 6.0 is 1 – On.

Use the Strict Date Format

Normally, Date and DateTime constants or expressions are interpreted based on the current settings of SET DATE and SET CENTURY at the time the constants or expressions are compiled or evaluated. This means that many date constants are ambiguous since they might evaluate to different values depending upon when they were compiled and what date settings were in effect at compilation time.

To avoid ambiguity, use the strict date format. A strict date evaluates to the same Date or DateTime value regardless of date settings. The strict date format is: ^yyyy-mm-dd[,][hh[:mm[:ss]][a|p]]

Use Strict Date Checking

Setting STRICTDATE to 1 requires that Date and DateTime constants be in the strict date format. Date or DateTime constants that are not in the strict format or evaluate to an invalid value generate an error, either during compilation, at run time, or during an interactive Visual FoxPro session. 1 is the default setting for an interactive Visual FoxPro session. Setting STRICTDATE to 0 means that strict date format checking is off. 0 is the default setting for the Visual FoxPro run time and ODBC driver.

The General tab of the Options dialog box now includes a Year 2000 Compliance drop-down list box, which specifies the setting of SET STRICTDATE. Like other Options dialog items, the value is set for the current Visual FoxPro session, and choosing Set As Default saves the setting to the Windows registry for the next Visual FoxPro session.

It Is Recommended that CTOD( ) and CTOT( ) Not Be Used

If the application has SET CENTURY OFF, search the code for CTOD( ) and CTOT( ) commands and change them to DATE( ) or DATETIME( ) functions. Also, consider using DTOS( ) instead of DTOC( ) if converting from a date to character expression. The DTOS( ) function will return a 4-digit year regardless of SET CENTURY setting.

DATE( ) and DATETIME( ) Functions

The DATE( ) and DATETIME( ) functions now support optional numeric arguments that lets users create year 2000 compliant Date or DateTime values. The enhancements to these functions now provide a preferable method for creating Date and DateTime values; it is no longer necessary to use character manipulation functions to create Date and DateTime values.

FDATE( ) Function

The FDATE( ) function now supports an optional argument that lets users determine the time when a file was last modified without using character manipulation functions. For example, in previous versions of Visual FoxPro, it was necessary to write code such as the following to determine when the Visual FoxPro resource file was last modified:

tLastModified = CTOT(DTOC(FDATE(‘Foxuser.dbf’)) + ‘ ’ + FTIME(‘Foxuser.dbf’)

This code can now be replaced with the following:

tLastModified = FDATE(‘Foxuser.dbf’, 1)

Other Issues to Consider

The Visual FoxPro 5.0 documentation states that issuing SET CENTURY TO without additional arguments sets the century to the current century. This is only true in the 1900s, because the century is set to 19 regardless of the current century. In Visual FoxPro 5.0 the default rollover value is 0. In contrast, in Visual FoxPro 6.0, SET CENTURY TO sets the century to the current century. Additionally, the value of SET CENTURY TO in new data sessions is initialized to the current century.

In Visual FoxPro 6.0, the default ROLLOVER value for SET CENTURY has changed to the last 2 digits of the current year plus 50 years - if the current year is 1998, then nYear is 48, and the default rollover value becomes 2048 (1998 + 50).

In Visual FoxPro 5.0, the smallest date value that can be expressed is {^0100/1/1}, January 1, 100 A.D. This is because year values less than 100 were rounded up to the nearest century based on the setting of SET CENTURY. The smallest valid date in Visual FoxPro 6.0 is {^0001-01-01}, January 1, 1 A.D. The largest valid date in Visual FoxPro 6.0 is {^9999-12-31}, December 31, 9999 A.D.

In Visual FoxPro 6.0, LUPDATE( ) now queries the Windows operating system to determine the date a table was last updated, allowing users to determine the century in which the table was updated. Still, however, the table header just stores the last 2 digits of the year it was last updated. This is done to ensure backward compatibility with other versions of FoxPro.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Note: A date issue has been identified with VFP6.EXE, VFP6R.DLL and VFP6T.DLL. Programs using one of these components to represent dates in an @GET do not display the year correctly when the @GET loses focus. For example, running the following code results in the value of the date field being displayed as 2001 when the TextBox has focus, and 2020 when it does not.

CLEAR

SET CENTURY OFF

dDate = {^1999/04/05}

cString = "Another GET"

@ 1,1 GET dDate SIZE 1,10 FONT "Courier New",10

@ 3,1 GET cString FONT "Courier New",10

READ CYCLE

A product update that addresses this issue is available at http://msdn.microsoft.com/vstudio/sp.

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is year 2000 compliant.

Visual FoxPro uses a default for SET CENTURY ROLLOVER. The default ROLLOVER value for SET CENTURY is the last 2 digits of the current year plus 50 years. This may or may not be the appropriate setting for a specific application.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The century will be determined based on SET CENTURY ROLLOVER. This may or may not be the appropriate setting for a specific application.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Note: A date issue has been identified with VFP6.EXE, VFP6R.DLL and VFP6T.DLL. Programs using one of these components to represent dates in an @GET do not display the year correctly when the @GET loses focus. For example, running the following code results in the value of the date field being displayed as 2001 when the TextBox has focus, and 2020 when it does not.

CLEAR

SET CENTURY OFF

dDate = {^1999/04/05}

cString = "Another GET"

@ 1,1 GET dDate Size 1,10 Font "Courier New",10

@ 3,1 GET cString Font "Courier New",10

READ CYCLE

 

To update these components to prevent this from happening, install Visual Studio 6.0 Service Pack 3.

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Use the SET STRICTDATE command and then compile the application. When users SET STRICTDATE to 1 or 2, this command will detect ambiguous dates during code compilation.

Investigate areas of the product that are not affected by the strict date checking, including:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause behavior issues.

Test the application under an actual year 2000 situation by setting the Windows system to a date in the 2000s.

 

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  6.0   (Czech)

Product Summary
Product: Visual FoxPro Version: 6.0 Category:Compliant*
Language: Czech OS: 32-Bit Win Release Date: 01 Jan 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Visual Studio 6.0 Service Pack 3
Product Dependencies: Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, SQL Server 6.5 Service Pack 5, MDAC 2.0 or greater
Clock Dependencies: System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional edition.

Operational Range for Data: When using strict date formats, {^0001-01-01}, January 1st, 1 A.D. to {^9999-12-31}, December 31st, 9999 A.D.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • Set Century To Rollover is used to specify the year equal to and above which a 2-digit year is in the 1900s and below which a 2-digit year is in the 2000s.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Clock Dependencies

The system clock is used to determine DATE(), TIME(), SECONDS() and DATETIME(). YEAR(), MONTH(), DAY(), DOW(), CDOW(), HOUR(), MINUTE(), and SECS() are not dependent upon the system clock but use the date value argument.

Two-digit shortcut handling:

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default value for the rollover year is the last 2 digits of the current year plus 50 years - if the current year is 1999, then the rollover year becomes 2049 (1999 + 50).

Recommended practices to develop year 2000 compliant applications:

Use Set Century On

Set Century On causes Visual FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are interpreted based on the setting of Set Century To Rollover.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be interpreted based on the setting of Set Century To Rollover.

Use Set Century To Rollover

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default value for the rollover year is the last 2 digits of the current year plus 50 years - if the current year is 1999, then the rollover year becomes 2049 (1999 + 50).

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 6.0 is 1 – On.

Use the Strict Date Format

Normally, Date and DateTime constants or expressions are interpreted based on the current settings of SET DATE and SET CENTURY at the time the constants or expressions are compiled or evaluated. This means that many date constants are ambiguous since they might evaluate to different values depending upon when they were compiled and what date settings were in effect at compilation time.

To avoid ambiguity, use the strict date format. A strict date evaluates to the same Date or DateTime value regardless of date settings. The strict date format is: ^yyyy-mm-dd[,][hh[:mm[:ss]][a|p]]

Use Strict Date Checking

Setting STRICTDATE to 1 requires that Date and DateTime constants be in the strict date format. Date or DateTime constants that are not in the strict format or evaluate to an invalid value generate an error, either during compilation, at run time, or during an interactive Visual FoxPro session. 1 is the default setting for an interactive Visual FoxPro session. Setting STRICTDATE to 0 means that strict date format checking is off. 0 is the default setting for the Visual FoxPro run time and ODBC driver.

The General tab of the Options dialog box now includes a Year 2000 Compliance drop-down list box, which specifies the setting of SET STRICTDATE. Like other Options dialog items, the value is set for the current Visual FoxPro session, and choosing Set As Default saves the setting to the Windows registry for the next Visual FoxPro session.

It Is Recommended that CTOD( ) and CTOT( ) Not Be Used

If the application has SET CENTURY OFF, search the code for CTOD( ) and CTOT( ) commands and change them to DATE( ) or DATETIME( ) functions. Also, consider using DTOS( ) instead of DTOC( ) if converting from a date to character expression. The DTOS( ) function will return a 4-digit year regardless of SET CENTURY setting.

DATE( ) and DATETIME( ) Functions

The DATE( ) and DATETIME( ) functions now support optional numeric arguments that lets users create year 2000 compliant Date or DateTime values. The enhancements to these functions now provide a preferable method for creating Date and DateTime values; it is no longer necessary to use character manipulation functions to create Date and DateTime values.

FDATE( ) Function

The FDATE( ) function now supports an optional argument that lets users determine the time when a file was last modified without using character manipulation functions. For example, in previous versions of Visual FoxPro, it was necessary to write code such as the following to determine when the Visual FoxPro resource file was last modified:

tLastModified = CTOT(DTOC(FDATE(‘Foxuser.dbf’)) + ‘ ’ + FTIME(‘Foxuser.dbf’)

This code can now be replaced with the following:

tLastModified = FDATE(‘Foxuser.dbf’, 1)

Other Issues to Consider

The Visual FoxPro 5.0 documentation states that issuing SET CENTURY TO without additional arguments sets the century to the current century. This is only true in the 1900s, because the century is set to 19 regardless of the current century. In Visual FoxPro 5.0 the default rollover value is 0. In contrast, in Visual FoxPro 6.0, SET CENTURY TO sets the century to the current century. Additionally, the value of SET CENTURY TO in new data sessions is initialized to the current century.

In Visual FoxPro 6.0, the default ROLLOVER value for SET CENTURY has changed to the last 2 digits of the current year plus 50 years - if the current year is 1998, then nYear is 48, and the default rollover value becomes 2048 (1998 + 50).

In Visual FoxPro 5.0, the smallest date value that can be expressed is {^0100/1/1}, January 1, 100 A.D. This is because year values less than 100 were rounded up to the nearest century based on the setting of SET CENTURY. The smallest valid date in Visual FoxPro 6.0 is {^0001-01-01}, January 1, 1 A.D. The largest valid date in Visual FoxPro 6.0 is {^9999-12-31}, December 31, 9999 A.D.

In Visual FoxPro 6.0, LUPDATE( ) now queries the Windows operating system to determine the date a table was last updated, allowing users to determine the century in which the table was updated. Still, however, the table header just stores the last 2 digits of the year it was last updated. This is done to ensure backward compatibility with other versions of FoxPro.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Note: A date issue has been identified with VFP6.EXE, VFP6R.DLL and VFP6T.DLL. Programs using one of these components to represent dates in an @GET do not display the year correctly when the @GET loses focus. For example, running the following code results in the value of the date field being displayed as 2001 when the TextBox has focus, and 2020 when it does not.

CLEAR

SET CENTURY OFF

dDate = {^1999/04/05}

cString = "Another GET"

@ 1,1 GET dDate SIZE 1,10 FONT "Courier New",10

@ 3,1 GET cString FONT "Courier New",10

READ CYCLE

A product update that addresses this issue is available at http://msdn.microsoft.com/vstudio/sp.

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is year 2000 compliant.

Visual FoxPro uses a default for SET CENTURY ROLLOVER. The default ROLLOVER value for SET CENTURY is the last 2 digits of the current year plus 50 years. This may or may not be the appropriate setting for a specific application.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The century will be determined based on SET CENTURY ROLLOVER. This may or may not be the appropriate setting for a specific application.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Note: A date issue has been identified with VFP6.EXE, VFP6R.DLL and VFP6T.DLL. Programs using one of these components to represent dates in an @GET do not display the year correctly when the @GET loses focus. For example, running the following code results in the value of the date field being displayed as 2001 when the TextBox has focus, and 2020 when it does not.

CLEAR

SET CENTURY OFF

dDate = {^1999/04/05}

cString = "Another GET"

@ 1,1 GET dDate Size 1,10 Font "Courier New",10

@ 3,1 GET cString Font "Courier New",10

READ CYCLE

 

To update these components to prevent this from happening, install Visual Studio 6.0 Service Pack 3.

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Use the SET STRICTDATE command and then compile the application. When users SET STRICTDATE to 1 or 2, this command will detect ambiguous dates during code compilation.

Investigate areas of the product that are not affected by the strict date checking, including:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause behavior issues.

Test the application under an actual year 2000 situation by setting the Windows system to a date in the 2000s.

 

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  6.0   (English)

Product Summary
Product: Visual FoxPro Version: 6.0 Category:Compliant*
Language: English OS: 32-Bit Win Release Date: 01 Jan 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Visual Studio 6.0 Service Pack 3
Product Dependencies: Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, SQL Server 6.5 Service Pack 5, MDAC 2.0 or greater
Clock Dependencies: System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional edition.

Operational Range for Data: When using strict date formats, {^0001-01-01}, January 1st, 1 A.D. to {^9999-12-31}, December 31st, 9999 A.D.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • Set Century To Rollover is used to specify the year equal to and above which a 2-digit year is in the 1900s and below which a 2-digit year is in the 2000s.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Clock Dependencies

The system clock is used to determine DATE(), TIME(), SECONDS() and DATETIME(). YEAR(), MONTH(), DAY(), DOW(), CDOW(), HOUR(), MINUTE(), and SECS() are not dependent upon the system clock but use the date value argument.

Two-digit shortcut handling:

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default value for the rollover year is the last 2 digits of the current year plus 50 years - if the current year is 1999, then the rollover year becomes 2049 (1999 + 50).

Recommended practices to develop year 2000 compliant applications:

Use Set Century On

Set Century On causes Visual FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are interpreted based on the setting of Set Century To Rollover.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be interpreted based on the setting of Set Century To Rollover.

Use Set Century To Rollover

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default value for the rollover year is the last 2 digits of the current year plus 50 years - if the current year is 1999, then the rollover year becomes 2049 (1999 + 50).

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 6.0 is 1 – On.

Use the Strict Date Format

Normally, Date and DateTime constants or expressions are interpreted based on the current settings of SET DATE and SET CENTURY at the time the constants or expressions are compiled or evaluated. This means that many date constants are ambiguous since they might evaluate to different values depending upon when they were compiled and what date settings were in effect at compilation time.

To avoid ambiguity, use the strict date format. A strict date evaluates to the same Date or DateTime value regardless of date settings. The strict date format is: ^yyyy-mm-dd[,][hh[:mm[:ss]][a|p]]

Use Strict Date Checking

Setting STRICTDATE to 1 requires that Date and DateTime constants be in the strict date format. Date or DateTime constants that are not in the strict format or evaluate to an invalid value generate an error, either during compilation, at run time, or during an interactive Visual FoxPro session. 1 is the default setting for an interactive Visual FoxPro session. Setting STRICTDATE to 0 means that strict date format checking is off. 0 is the default setting for the Visual FoxPro run time and ODBC driver.

The General tab of the Options dialog box now includes a Year 2000 Compliance drop-down list box, which specifies the setting of SET STRICTDATE. Like other Options dialog items, the value is set for the current Visual FoxPro session, and choosing Set As Default saves the setting to the Windows registry for the next Visual FoxPro session.

It Is Recommended that CTOD( ) and CTOT( ) Not Be Used

If the application has SET CENTURY OFF, search the code for CTOD( ) and CTOT( ) commands and change them to DATE( ) or DATETIME( ) functions. Also, consider using DTOS( ) instead of DTOC( ) if converting from a date to character expression. The DTOS( ) function will return a 4-digit year regardless of SET CENTURY setting.

DATE( ) and DATETIME( ) Functions

The DATE( ) and DATETIME( ) functions now support optional numeric arguments that lets users create year 2000 compliant Date or DateTime values. The enhancements to these functions now provide a preferable method for creating Date and DateTime values; it is no longer necessary to use character manipulation functions to create Date and DateTime values.

FDATE( ) Function

The FDATE( ) function now supports an optional argument that lets users determine the time when a file was last modified without using character manipulation functions. For example, in previous versions of Visual FoxPro, it was necessary to write code such as the following to determine when the Visual FoxPro resource file was last modified:

tLastModified = CTOT(DTOC(FDATE(‘Foxuser.dbf’)) + ‘ ’ + FTIME(‘Foxuser.dbf’)

This code can now be replaced with the following:

tLastModified = FDATE(‘Foxuser.dbf’, 1)

Other Issues to Consider

The Visual FoxPro 5.0 documentation states that issuing SET CENTURY TO without additional arguments sets the century to the current century. This is only true in the 1900s, because the century is set to 19 regardless of the current century. In Visual FoxPro 5.0 the default rollover value is 0. In contrast, in Visual FoxPro 6.0, SET CENTURY TO sets the century to the current century. Additionally, the value of SET CENTURY TO in new data sessions is initialized to the current century.

In Visual FoxPro 6.0, the default ROLLOVER value for SET CENTURY has changed to the last 2 digits of the current year plus 50 years - if the current year is 1998, then nYear is 48, and the default rollover value becomes 2048 (1998 + 50).

In Visual FoxPro 5.0, the smallest date value that can be expressed is {^0100/1/1}, January 1, 100 A.D. This is because year values less than 100 were rounded up to the nearest century based on the setting of SET CENTURY. The smallest valid date in Visual FoxPro 6.0 is {^0001-01-01}, January 1, 1 A.D. The largest valid date in Visual FoxPro 6.0 is {^9999-12-31}, December 31, 9999 A.D.

In Visual FoxPro 6.0, LUPDATE( ) now queries the Windows operating system to determine the date a table was last updated, allowing users to determine the century in which the table was updated. Still, however, the table header just stores the last 2 digits of the year it was last updated. This is done to ensure backward compatibility with other versions of FoxPro.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Note: A date issue has been identified with VFP6.EXE, VFP6R.DLL and VFP6T.DLL. Programs using one of these components to represent dates in an @GET do not display the year correctly when the @GET loses focus. For example, running the following code results in the value of the date field being displayed as 2001 when the TextBox has focus, and 2020 when it does not.

CLEAR

SET CENTURY OFF

dDate = {^1999/04/05}

cString = "Another GET"

@ 1,1 GET dDate SIZE 1,10 FONT "Courier New",10

@ 3,1 GET cString FONT "Courier New",10

READ CYCLE

A product update that addresses this issue is available at http://msdn.microsoft.com/vstudio/sp.

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is year 2000 compliant.

Visual FoxPro uses a default for SET CENTURY ROLLOVER. The default ROLLOVER value for SET CENTURY is the last 2 digits of the current year plus 50 years. This may or may not be the appropriate setting for a specific application.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The century will be determined based on SET CENTURY ROLLOVER. This may or may not be the appropriate setting for a specific application.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Note: A date issue has been identified with VFP6.EXE, VFP6R.DLL and VFP6T.DLL. Programs using one of these components to represent dates in an @GET do not display the year correctly when the @GET loses focus. For example, running the following code results in the value of the date field being displayed as 2001 when the TextBox has focus, and 2020 when it does not.

CLEAR

SET CENTURY OFF

dDate = {^1999/04/05}

cString = "Another GET"

@ 1,1 GET dDate Size 1,10 Font "Courier New",10

@ 3,1 GET cString Font "Courier New",10

READ CYCLE

 

To update these components to prevent this from happening, install Visual Studio 6.0 Service Pack 3.

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Use the SET STRICTDATE command and then compile the application. When users SET STRICTDATE to 1 or 2, this command will detect ambiguous dates during code compilation.

Investigate areas of the product that are not affected by the strict date checking, including:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause behavior issues.

Test the application under an actual year 2000 situation by setting the Windows system to a date in the 2000s.

 

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  6.0   (French)

Product Summary
Product: Visual FoxPro Version: 6.0 Category:Compliant*
Language: French OS: 32-Bit Win Release Date: 01 Jan 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Visual Studio 6.0 Service Pack 3
Product Dependencies: Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, SQL Server 6.5 Service Pack 5, MDAC 2.0 or greater
Clock Dependencies: System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional edition.

Operational Range for Data: When using strict date formats, {^0001-01-01}, January 1st, 1 A.D. to {^9999-12-31}, December 31st, 9999 A.D.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • Set Century To Rollover is used to specify the year equal to and above which a 2-digit year is in the 1900s and below which a 2-digit year is in the 2000s.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Clock Dependencies

The system clock is used to determine DATE(), TIME(), SECONDS() and DATETIME(). YEAR(), MONTH(), DAY(), DOW(), CDOW(), HOUR(), MINUTE(), and SECS() are not dependent upon the system clock but use the date value argument.

Two-digit shortcut handling:

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default value for the rollover year is the last 2 digits of the current year plus 50 years - if the current year is 1999, then the rollover year becomes 2049 (1999 + 50).

Recommended practices to develop year 2000 compliant applications:

Use Set Century On

Set Century On causes Visual FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are interpreted based on the setting of Set Century To Rollover.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be interpreted based on the setting of Set Century To Rollover.

Use Set Century To Rollover

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default value for the rollover year is the last 2 digits of the current year plus 50 years - if the current year is 1999, then the rollover year becomes 2049 (1999 + 50).

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 6.0 is 1 – On.

Use the Strict Date Format

Normally, Date and DateTime constants or expressions are interpreted based on the current settings of SET DATE and SET CENTURY at the time the constants or expressions are compiled or evaluated. This means that many date constants are ambiguous since they might evaluate to different values depending upon when they were compiled and what date settings were in effect at compilation time.

To avoid ambiguity, use the strict date format. A strict date evaluates to the same Date or DateTime value regardless of date settings. The strict date format is: ^yyyy-mm-dd[,][hh[:mm[:ss]][a|p]]

Use Strict Date Checking

Setting STRICTDATE to 1 requires that Date and DateTime constants be in the strict date format. Date or DateTime constants that are not in the strict format or evaluate to an invalid value generate an error, either during compilation, at run time, or during an interactive Visual FoxPro session. 1 is the default setting for an interactive Visual FoxPro session. Setting STRICTDATE to 0 means that strict date format checking is off. 0 is the default setting for the Visual FoxPro run time and ODBC driver.

The General tab of the Options dialog box now includes a Year 2000 Compliance drop-down list box, which specifies the setting of SET STRICTDATE. Like other Options dialog items, the value is set for the current Visual FoxPro session, and choosing Set As Default saves the setting to the Windows registry for the next Visual FoxPro session.

It Is Recommended that CTOD( ) and CTOT( ) Not Be Used

If the application has SET CENTURY OFF, search the code for CTOD( ) and CTOT( ) commands and change them to DATE( ) or DATETIME( ) functions. Also, consider using DTOS( ) instead of DTOC( ) if converting from a date to character expression. The DTOS( ) function will return a 4-digit year regardless of SET CENTURY setting.

DATE( ) and DATETIME( ) Functions

The DATE( ) and DATETIME( ) functions now support optional numeric arguments that lets users create year 2000 compliant Date or DateTime values. The enhancements to these functions now provide a preferable method for creating Date and DateTime values; it is no longer necessary to use character manipulation functions to create Date and DateTime values.

FDATE( ) Function

The FDATE( ) function now supports an optional argument that lets users determine the time when a file was last modified without using character manipulation functions. For example, in previous versions of Visual FoxPro, it was necessary to write code such as the following to determine when the Visual FoxPro resource file was last modified:

tLastModified = CTOT(DTOC(FDATE(‘Foxuser.dbf’)) + ‘ ’ + FTIME(‘Foxuser.dbf’)

This code can now be replaced with the following:

tLastModified = FDATE(‘Foxuser.dbf’, 1)

Other Issues to Consider

The Visual FoxPro 5.0 documentation states that issuing SET CENTURY TO without additional arguments sets the century to the current century. This is only true in the 1900s, because the century is set to 19 regardless of the current century. In Visual FoxPro 5.0 the default rollover value is 0. In contrast, in Visual FoxPro 6.0, SET CENTURY TO sets the century to the current century. Additionally, the value of SET CENTURY TO in new data sessions is initialized to the current century.

In Visual FoxPro 6.0, the default ROLLOVER value for SET CENTURY has changed to the last 2 digits of the current year plus 50 years - if the current year is 1998, then nYear is 48, and the default rollover value becomes 2048 (1998 + 50).

In Visual FoxPro 5.0, the smallest date value that can be expressed is {^0100/1/1}, January 1, 100 A.D. This is because year values less than 100 were rounded up to the nearest century based on the setting of SET CENTURY. The smallest valid date in Visual FoxPro 6.0 is {^0001-01-01}, January 1, 1 A.D. The largest valid date in Visual FoxPro 6.0 is {^9999-12-31}, December 31, 9999 A.D.

In Visual FoxPro 6.0, LUPDATE( ) now queries the Windows operating system to determine the date a table was last updated, allowing users to determine the century in which the table was updated. Still, however, the table header just stores the last 2 digits of the year it was last updated. This is done to ensure backward compatibility with other versions of FoxPro.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Note: A date issue has been identified with VFP6.EXE, VFP6R.DLL and VFP6T.DLL. Programs using one of these components to represent dates in an @GET do not display the year correctly when the @GET loses focus. For example, running the following code results in the value of the date field being displayed as 2001 when the TextBox has focus, and 2020 when it does not.

CLEAR

SET CENTURY OFF

dDate = {^1999/04/05}

cString = "Another GET"

@ 1,1 GET dDate SIZE 1,10 FONT "Courier New",10

@ 3,1 GET cString FONT "Courier New",10

READ CYCLE

A product update that addresses this issue is available at http://msdn.microsoft.com/vstudio/sp.

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is year 2000 compliant.

Visual FoxPro uses a default for SET CENTURY ROLLOVER. The default ROLLOVER value for SET CENTURY is the last 2 digits of the current year plus 50 years. This may or may not be the appropriate setting for a specific application.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The century will be determined based on SET CENTURY ROLLOVER. This may or may not be the appropriate setting for a specific application.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Note: A date issue has been identified with VFP6.EXE, VFP6R.DLL and VFP6T.DLL. Programs using one of these components to represent dates in an @GET do not display the year correctly when the @GET loses focus. For example, running the following code results in the value of the date field being displayed as 2001 when the TextBox has focus, and 2020 when it does not.

CLEAR

SET CENTURY OFF

dDate = {^1999/04/05}

cString = "Another GET"

@ 1,1 GET dDate Size 1,10 Font "Courier New",10

@ 3,1 GET cString Font "Courier New",10

READ CYCLE

 

To update these components to prevent this from happening, install Visual Studio 6.0 Service Pack 3.

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Use the SET STRICTDATE command and then compile the application. When users SET STRICTDATE to 1 or 2, this command will detect ambiguous dates during code compilation.

Investigate areas of the product that are not affected by the strict date checking, including:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause behavior issues.

Test the application under an actual year 2000 situation by setting the Windows system to a date in the 2000s.

 

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  6.0   (German)

Product Summary
Product: Visual FoxPro Version: 6.0 Category:Compliant*
Language: German OS: 32-Bit Win Release Date: 01 Jan 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Visual Studio 6.0 Service Pack 3
Product Dependencies: Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, SQL Server 6.5 Service Pack 5, MDAC 2.0 or greater
Clock Dependencies: System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional edition.

Operational Range for Data: When using strict date formats, {^0001-01-01}, January 1st, 1 A.D. to {^9999-12-31}, December 31st, 9999 A.D.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • Set Century To Rollover is used to specify the year equal to and above which a 2-digit year is in the 1900s and below which a 2-digit year is in the 2000s.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Clock Dependencies

The system clock is used to determine DATE(), TIME(), SECONDS() and DATETIME(). YEAR(), MONTH(), DAY(), DOW(), CDOW(), HOUR(), MINUTE(), and SECS() are not dependent upon the system clock but use the date value argument.

Two-digit shortcut handling:

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default value for the rollover year is the last 2 digits of the current year plus 50 years - if the current year is 1999, then the rollover year becomes 2049 (1999 + 50).

Recommended practices to develop year 2000 compliant applications:

Use Set Century On

Set Century On causes Visual FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are interpreted based on the setting of Set Century To Rollover.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be interpreted based on the setting of Set Century To Rollover.

Use Set Century To Rollover

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default value for the rollover year is the last 2 digits of the current year plus 50 years - if the current year is 1999, then the rollover year becomes 2049 (1999 + 50).

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 6.0 is 1 – On.

Use the Strict Date Format

Normally, Date and DateTime constants or expressions are interpreted based on the current settings of SET DATE and SET CENTURY at the time the constants or expressions are compiled or evaluated. This means that many date constants are ambiguous since they might evaluate to different values depending upon when they were compiled and what date settings were in effect at compilation time.

To avoid ambiguity, use the strict date format. A strict date evaluates to the same Date or DateTime value regardless of date settings. The strict date format is: ^yyyy-mm-dd[,][hh[:mm[:ss]][a|p]]

Use Strict Date Checking

Setting STRICTDATE to 1 requires that Date and DateTime constants be in the strict date format. Date or DateTime constants that are not in the strict format or evaluate to an invalid value generate an error, either during compilation, at run time, or during an interactive Visual FoxPro session. 1 is the default setting for an interactive Visual FoxPro session. Setting STRICTDATE to 0 means that strict date format checking is off. 0 is the default setting for the Visual FoxPro run time and ODBC driver.

The General tab of the Options dialog box now includes a Year 2000 Compliance drop-down list box, which specifies the setting of SET STRICTDATE. Like other Options dialog items, the value is set for the current Visual FoxPro session, and choosing Set As Default saves the setting to the Windows registry for the next Visual FoxPro session.

It Is Recommended that CTOD( ) and CTOT( ) Not Be Used

If the application has SET CENTURY OFF, search the code for CTOD( ) and CTOT( ) commands and change them to DATE( ) or DATETIME( ) functions. Also, consider using DTOS( ) instead of DTOC( ) if converting from a date to character expression. The DTOS( ) function will return a 4-digit year regardless of SET CENTURY setting.

DATE( ) and DATETIME( ) Functions

The DATE( ) and DATETIME( ) functions now support optional numeric arguments that lets users create year 2000 compliant Date or DateTime values. The enhancements to these functions now provide a preferable method for creating Date and DateTime values; it is no longer necessary to use character manipulation functions to create Date and DateTime values.

FDATE( ) Function

The FDATE( ) function now supports an optional argument that lets users determine the time when a file was last modified without using character manipulation functions. For example, in previous versions of Visual FoxPro, it was necessary to write code such as the following to determine when the Visual FoxPro resource file was last modified:

tLastModified = CTOT(DTOC(FDATE(‘Foxuser.dbf’)) + ‘ ’ + FTIME(‘Foxuser.dbf’)

This code can now be replaced with the following:

tLastModified = FDATE(‘Foxuser.dbf’, 1)

Other Issues to Consider

The Visual FoxPro 5.0 documentation states that issuing SET CENTURY TO without additional arguments sets the century to the current century. This is only true in the 1900s, because the century is set to 19 regardless of the current century. In Visual FoxPro 5.0 the default rollover value is 0. In contrast, in Visual FoxPro 6.0, SET CENTURY TO sets the century to the current century. Additionally, the value of SET CENTURY TO in new data sessions is initialized to the current century.

In Visual FoxPro 6.0, the default ROLLOVER value for SET CENTURY has changed to the last 2 digits of the current year plus 50 years - if the current year is 1998, then nYear is 48, and the default rollover value becomes 2048 (1998 + 50).

In Visual FoxPro 5.0, the smallest date value that can be expressed is {^0100/1/1}, January 1, 100 A.D. This is because year values less than 100 were rounded up to the nearest century based on the setting of SET CENTURY. The smallest valid date in Visual FoxPro 6.0 is {^0001-01-01}, January 1, 1 A.D. The largest valid date in Visual FoxPro 6.0 is {^9999-12-31}, December 31, 9999 A.D.

In Visual FoxPro 6.0, LUPDATE( ) now queries the Windows operating system to determine the date a table was last updated, allowing users to determine the century in which the table was updated. Still, however, the table header just stores the last 2 digits of the year it was last updated. This is done to ensure backward compatibility with other versions of FoxPro.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Note: A date issue has been identified with VFP6.EXE, VFP6R.DLL and VFP6T.DLL. Programs using one of these components to represent dates in an @GET do not display the year correctly when the @GET loses focus. For example, running the following code results in the value of the date field being displayed as 2001 when the TextBox has focus, and 2020 when it does not.

CLEAR

SET CENTURY OFF

dDate = {^1999/04/05}

cString = "Another GET"

@ 1,1 GET dDate SIZE 1,10 FONT "Courier New",10

@ 3,1 GET cString FONT "Courier New",10

READ CYCLE

A product update that addresses this issue is available at http://msdn.microsoft.com/vstudio/sp.

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is year 2000 compliant.

Visual FoxPro uses a default for SET CENTURY ROLLOVER. The default ROLLOVER value for SET CENTURY is the last 2 digits of the current year plus 50 years. This may or may not be the appropriate setting for a specific application.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The century will be determined based on SET CENTURY ROLLOVER. This may or may not be the appropriate setting for a specific application.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Note: A date issue has been identified with VFP6.EXE, VFP6R.DLL and VFP6T.DLL. Programs using one of these components to represent dates in an @GET do not display the year correctly when the @GET loses focus. For example, running the following code results in the value of the date field being displayed as 2001 when the TextBox has focus, and 2020 when it does not.

CLEAR

SET CENTURY OFF

dDate = {^1999/04/05}

cString = "Another GET"

@ 1,1 GET dDate Size 1,10 Font "Courier New",10

@ 3,1 GET cString Font "Courier New",10

READ CYCLE

 

To update these components to prevent this from happening, install Visual Studio 6.0 Service Pack 3.

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Use the SET STRICTDATE command and then compile the application. When users SET STRICTDATE to 1 or 2, this command will detect ambiguous dates during code compilation.

Investigate areas of the product that are not affected by the strict date checking, including:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause behavior issues.

Test the application under an actual year 2000 situation by setting the Windows system to a date in the 2000s.

 

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  6.0   (Russian)

Product Summary
Product: Visual FoxPro Version: 6.0 Category:Compliant*
Language: Russian OS: 32-Bit Win Release Date: 01 Jan 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Visual Studio 6.0 Service Pack 3
Product Dependencies: Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, SQL Server 6.5 Service Pack 5, MDAC 2.0 or greater
Clock Dependencies: System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional edition.

Operational Range for Data: When using strict date formats, {^0001-01-01}, January 1st, 1 A.D. to {^9999-12-31}, December 31st, 9999 A.D.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • Set Century To Rollover is used to specify the year equal to and above which a 2-digit year is in the 1900s and below which a 2-digit year is in the 2000s.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Clock Dependencies

The system clock is used to determine DATE(), TIME(), SECONDS() and DATETIME(). YEAR(), MONTH(), DAY(), DOW(), CDOW(), HOUR(), MINUTE(), and SECS() are not dependent upon the system clock but use the date value argument.

Two-digit shortcut handling:

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default value for the rollover year is the last 2 digits of the current year plus 50 years - if the current year is 1999, then the rollover year becomes 2049 (1999 + 50).

Recommended practices to develop year 2000 compliant applications:

Use Set Century On

Set Century On causes Visual FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are interpreted based on the setting of Set Century To Rollover.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be interpreted based on the setting of Set Century To Rollover.

Use Set Century To Rollover

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default value for the rollover year is the last 2 digits of the current year plus 50 years - if the current year is 1999, then the rollover year becomes 2049 (1999 + 50).

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 6.0 is 1 – On.

Use the Strict Date Format

Normally, Date and DateTime constants or expressions are interpreted based on the current settings of SET DATE and SET CENTURY at the time the constants or expressions are compiled or evaluated. This means that many date constants are ambiguous since they might evaluate to different values depending upon when they were compiled and what date settings were in effect at compilation time.

To avoid ambiguity, use the strict date format. A strict date evaluates to the same Date or DateTime value regardless of date settings. The strict date format is: ^yyyy-mm-dd[,][hh[:mm[:ss]][a|p]]

Use Strict Date Checking

Setting STRICTDATE to 1 requires that Date and DateTime constants be in the strict date format. Date or DateTime constants that are not in the strict format or evaluate to an invalid value generate an error, either during compilation, at run time, or during an interactive Visual FoxPro session. 1 is the default setting for an interactive Visual FoxPro session. Setting STRICTDATE to 0 means that strict date format checking is off. 0 is the default setting for the Visual FoxPro run time and ODBC driver.

The General tab of the Options dialog box now includes a Year 2000 Compliance drop-down list box, which specifies the setting of SET STRICTDATE. Like other Options dialog items, the value is set for the current Visual FoxPro session, and choosing Set As Default saves the setting to the Windows registry for the next Visual FoxPro session.

It Is Recommended that CTOD( ) and CTOT( ) Not Be Used

If the application has SET CENTURY OFF, search the code for CTOD( ) and CTOT( ) commands and change them to DATE( ) or DATETIME( ) functions. Also, consider using DTOS( ) instead of DTOC( ) if converting from a date to character expression. The DTOS( ) function will return a 4-digit year regardless of SET CENTURY setting.

DATE( ) and DATETIME( ) Functions

The DATE( ) and DATETIME( ) functions now support optional numeric arguments that lets users create year 2000 compliant Date or DateTime values. The enhancements to these functions now provide a preferable method for creating Date and DateTime values; it is no longer necessary to use character manipulation functions to create Date and DateTime values.

FDATE( ) Function

The FDATE( ) function now supports an optional argument that lets users determine the time when a file was last modified without using character manipulation functions. For example, in previous versions of Visual FoxPro, it was necessary to write code such as the following to determine when the Visual FoxPro resource file was last modified:

tLastModified = CTOT(DTOC(FDATE(‘Foxuser.dbf’)) + ‘ ’ + FTIME(‘Foxuser.dbf’)

This code can now be replaced with the following:

tLastModified = FDATE(‘Foxuser.dbf’, 1)

Other Issues to Consider

The Visual FoxPro 5.0 documentation states that issuing SET CENTURY TO without additional arguments sets the century to the current century. This is only true in the 1900s, because the century is set to 19 regardless of the current century. In Visual FoxPro 5.0 the default rollover value is 0. In contrast, in Visual FoxPro 6.0, SET CENTURY TO sets the century to the current century. Additionally, the value of SET CENTURY TO in new data sessions is initialized to the current century.

In Visual FoxPro 6.0, the default ROLLOVER value for SET CENTURY has changed to the last 2 digits of the current year plus 50 years - if the current year is 1998, then nYear is 48, and the default rollover value becomes 2048 (1998 + 50).

In Visual FoxPro 5.0, the smallest date value that can be expressed is {^0100/1/1}, January 1, 100 A.D. This is because year values less than 100 were rounded up to the nearest century based on the setting of SET CENTURY. The smallest valid date in Visual FoxPro 6.0 is {^0001-01-01}, January 1, 1 A.D. The largest valid date in Visual FoxPro 6.0 is {^9999-12-31}, December 31, 9999 A.D.

In Visual FoxPro 6.0, LUPDATE( ) now queries the Windows operating system to determine the date a table was last updated, allowing users to determine the century in which the table was updated. Still, however, the table header just stores the last 2 digits of the year it was last updated. This is done to ensure backward compatibility with other versions of FoxPro.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Note: A date issue has been identified with VFP6.EXE, VFP6R.DLL and VFP6T.DLL. Programs using one of these components to represent dates in an @GET do not display the year correctly when the @GET loses focus. For example, running the following code results in the value of the date field being displayed as 2001 when the TextBox has focus, and 2020 when it does not.

CLEAR

SET CENTURY OFF

dDate = {^1999/04/05}

cString = "Another GET"

@ 1,1 GET dDate SIZE 1,10 FONT "Courier New",10

@ 3,1 GET cString FONT "Courier New",10

READ CYCLE

A product update that addresses this issue is available at http://msdn.microsoft.com/vstudio/sp.

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is year 2000 compliant.

Visual FoxPro uses a default for SET CENTURY ROLLOVER. The default ROLLOVER value for SET CENTURY is the last 2 digits of the current year plus 50 years. This may or may not be the appropriate setting for a specific application.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The century will be determined based on SET CENTURY ROLLOVER. This may or may not be the appropriate setting for a specific application.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Note: A date issue has been identified with VFP6.EXE, VFP6R.DLL and VFP6T.DLL. Programs using one of these components to represent dates in an @GET do not display the year correctly when the @GET loses focus. For example, running the following code results in the value of the date field being displayed as 2001 when the TextBox has focus, and 2020 when it does not.

CLEAR

SET CENTURY OFF

dDate = {^1999/04/05}

cString = "Another GET"

@ 1,1 GET dDate Size 1,10 Font "Courier New",10

@ 3,1 GET cString Font "Courier New",10

READ CYCLE

 

To update these components to prevent this from happening, install Visual Studio 6.0 Service Pack 3.

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Use the SET STRICTDATE command and then compile the application. When users SET STRICTDATE to 1 or 2, this command will detect ambiguous dates during code compilation.

Investigate areas of the product that are not affected by the strict date checking, including:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause behavior issues.

Test the application under an actual year 2000 situation by setting the Windows system to a date in the 2000s.

 

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro  6.0   (Spanish)

Product Summary
Product: Visual FoxPro Version: 6.0 Category:Compliant*
Language: Spanish OS: 32-Bit Win Release Date: 01 Jan 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Visual Studio 6.0 Service Pack 3
Product Dependencies: Windows 95, Windows 98, Windows NT 4.0 Service Pack 4, SQL Server 6.5 Service Pack 5, MDAC 2.0 or greater
Clock Dependencies: System Clock, (OLE) Automation Libraries
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional edition.

Operational Range for Data: When using strict date formats, {^0001-01-01}, January 1st, 1 A.D. to {^9999-12-31}, December 31st, 9999 A.D.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes, if during design time 4-digit years are specified in date constants, and at run time one of the following actions is taken:

  • 4-digit years are used for data entry.
  • Set Century To Rollover is used to specify the year equal to and above which a 2-digit year is in the 1900s and below which a 2-digit year is in the 2000s.

How the product runtime handles dates:

Dates in variables and calculations are represented as 8-byte numeric values representing the number of days since some fixed date. In tables, date types use 8 bytes per field per record on disk and are stored internally as numeric values. This size is not affected by the settings of SET CENTURY or input masks on textboxes for data entry. This provides for full, unambiguous dates being stored independent of application logic.

Clock Dependencies

The system clock is used to determine DATE(), TIME(), SECONDS() and DATETIME(). YEAR(), MONTH(), DAY(), DOW(), CDOW(), HOUR(), MINUTE(), and SECS() are not dependent upon the system clock but use the date value argument.

Two-digit shortcut handling:

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default value for the rollover year is the last 2 digits of the current year plus 50 years - if the current year is 1999, then the rollover year becomes 2049 (1999 + 50).

Recommended practices to develop year 2000 compliant applications:

Use Set Century On

Set Century On causes Visual FoxPro to display dates with 4-digit years during data entry and display. The product default is Set Century Off. In the Off setting, it can be impossible to enter 4-digit dates and 2-digit dates are interpreted based on the setting of Set Century To Rollover.

Note: Regardless of how Century is set, users can enter dates with 2-digit years. These dates will be interpreted based on the setting of Set Century To Rollover.

Use Set Century To Rollover

Handling of dates with 2-digit years is determined by the use of Set Century To…Rollover. The developer can specify the century to which dates with 2-digit years belong. Values equal to and above the rollover value are considered to be in the specified century; values below the rollover date are considered to be in the following century. The default value for the rollover year is the last 2 digits of the current year plus 50 years - if the current year is 1999, then the rollover year becomes 2049 (1999 + 50).

Use the Century Property of Controls on Forms

If the Century Property of a control is set to 1 – On, the century portion of a date is displayed in the control. This property overrides the current setting of SET CENTURY. The default for the Century property in Visual FoxPro 6.0 is 1 – On.

Use the Strict Date Format

Normally, Date and DateTime constants or expressions are interpreted based on the current settings of SET DATE and SET CENTURY at the time the constants or expressions are compiled or evaluated. This means that many date constants are ambiguous since they might evaluate to different values depending upon when they were compiled and what date settings were in effect at compilation time.

To avoid ambiguity, use the strict date format. A strict date evaluates to the same Date or DateTime value regardless of date settings. The strict date format is: ^yyyy-mm-dd[,][hh[:mm[:ss]][a|p]]

Use Strict Date Checking

Setting STRICTDATE to 1 requires that Date and DateTime constants be in the strict date format. Date or DateTime constants that are not in the strict format or evaluate to an invalid value generate an error, either during compilation, at run time, or during an interactive Visual FoxPro session. 1 is the default setting for an interactive Visual FoxPro session. Setting STRICTDATE to 0 means that strict date format checking is off. 0 is the default setting for the Visual FoxPro run time and ODBC driver.

The General tab of the Options dialog box now includes a Year 2000 Compliance drop-down list box, which specifies the setting of SET STRICTDATE. Like other Options dialog items, the value is set for the current Visual FoxPro session, and choosing Set As Default saves the setting to the Windows registry for the next Visual FoxPro session.

It Is Recommended that CTOD( ) and CTOT( ) Not Be Used

If the application has SET CENTURY OFF, search the code for CTOD( ) and CTOT( ) commands and change them to DATE( ) or DATETIME( ) functions. Also, consider using DTOS( ) instead of DTOC( ) if converting from a date to character expression. The DTOS( ) function will return a 4-digit year regardless of SET CENTURY setting.

DATE( ) and DATETIME( ) Functions

The DATE( ) and DATETIME( ) functions now support optional numeric arguments that lets users create year 2000 compliant Date or DateTime values. The enhancements to these functions now provide a preferable method for creating Date and DateTime values; it is no longer necessary to use character manipulation functions to create Date and DateTime values.

FDATE( ) Function

The FDATE( ) function now supports an optional argument that lets users determine the time when a file was last modified without using character manipulation functions. For example, in previous versions of Visual FoxPro, it was necessary to write code such as the following to determine when the Visual FoxPro resource file was last modified:

tLastModified = CTOT(DTOC(FDATE(‘Foxuser.dbf’)) + ‘ ’ + FTIME(‘Foxuser.dbf’)

This code can now be replaced with the following:

tLastModified = FDATE(‘Foxuser.dbf’, 1)

Other Issues to Consider

The Visual FoxPro 5.0 documentation states that issuing SET CENTURY TO without additional arguments sets the century to the current century. This is only true in the 1900s, because the century is set to 19 regardless of the current century. In Visual FoxPro 5.0 the default rollover value is 0. In contrast, in Visual FoxPro 6.0, SET CENTURY TO sets the century to the current century. Additionally, the value of SET CENTURY TO in new data sessions is initialized to the current century.

In Visual FoxPro 6.0, the default ROLLOVER value for SET CENTURY has changed to the last 2 digits of the current year plus 50 years - if the current year is 1998, then nYear is 48, and the default rollover value becomes 2048 (1998 + 50).

In Visual FoxPro 5.0, the smallest date value that can be expressed is {^0100/1/1}, January 1, 100 A.D. This is because year values less than 100 were rounded up to the nearest century based on the setting of SET CENTURY. The smallest valid date in Visual FoxPro 6.0 is {^0001-01-01}, January 1, 1 A.D. The largest valid date in Visual FoxPro 6.0 is {^9999-12-31}, December 31, 9999 A.D.

In Visual FoxPro 6.0, LUPDATE( ) now queries the Windows operating system to determine the date a table was last updated, allowing users to determine the century in which the table was updated. Still, however, the table header just stores the last 2 digits of the year it was last updated. This is done to ensure backward compatibility with other versions of FoxPro.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Note: A date issue has been identified with VFP6.EXE, VFP6R.DLL and VFP6T.DLL. Programs using one of these components to represent dates in an @GET do not display the year correctly when the @GET loses focus. For example, running the following code results in the value of the date field being displayed as 2001 when the TextBox has focus, and 2020 when it does not.

CLEAR

SET CENTURY OFF

dDate = {^1999/04/05}

cString = "Another GET"

@ 1,1 GET dDate SIZE 1,10 FONT "Courier New",10

@ 3,1 GET cString FONT "Courier New",10

READ CYCLE

A product update that addresses this issue is available at http://msdn.microsoft.com/vstudio/sp.

Common development errors dealing with year 2000 date issues:

Developers should take care to validate data entered as dates in addition to resolving ambiguous 2-digit year entries. Although Visual FoxPro provides language and tools to help developers plan for year 2000 compliance, ultimately it is the responsibility of the application (and therefore the developer) to validate data before it is stored permanently in tables. For example, if a user entering warranty expiration dates for new computers enters 04/01/1902, the application should contain logic to reject this date, even though the date exists and is year 2000 compliant.

Visual FoxPro uses a default for SET CENTURY ROLLOVER. The default ROLLOVER value for SET CENTURY is the last 2 digits of the current year plus 50 years. This may or may not be the appropriate setting for a specific application.

Even if SET CENTURY ON is used and dates are displayed with 4-digit years, users can enter dates with 2-digit years. The century will be determined based on SET CENTURY ROLLOVER. This may or may not be the appropriate setting for a specific application.

Using dates with 2-digit years in code can lead to unexpected results. This should be avoided.

Please refer to the white paper, "Year 2000 Date Support in FoxPro"

Note: A date issue has been identified with VFP6.EXE, VFP6R.DLL and VFP6T.DLL. Programs using one of these components to represent dates in an @GET do not display the year correctly when the @GET loses focus. For example, running the following code results in the value of the date field being displayed as 2001 when the TextBox has focus, and 2020 when it does not.

CLEAR

SET CENTURY OFF

dDate = {^1999/04/05}

cString = "Another GET"

@ 1,1 GET dDate Size 1,10 Font "Courier New",10

@ 3,1 GET cString Font "Courier New",10

READ CYCLE

 

To update these components to prevent this from happening, install Visual Studio 6.0 Service Pack 3.

Testing guidelines and recommendations:

Review the application and check the forms (screens) and reports for formatting and other issues related to dates.

Use the SET STRICTDATE command and then compile the application. When users SET STRICTDATE to 1 or 2, this command will detect ambiguous dates during code compilation.

Investigate areas of the product that are not affected by the strict date checking, including:

  • Index tag expressions
  • Property settings, such as in forms, classes, reports, and databases
  • Report, label, and menu expressions
  • Constants used in #Include files

Investigate the code directly, searching for potential issues. Users can use the Visual FoxPro Filer utility to search for specific strings in the source files, such as "CTOD(", that may cause behavior issues.

Test the application under an actual year 2000 situation by setting the Windows system to a date in the 2000s.

 

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual FoxPro ODBC Driver  6.0   (English)

Product Summary
Product: Visual FoxPro ODBC Driver Version: 6.0 Category:Compliant
Language: English OS: 32-Bit Win Release Date: N/A
Operational Range: 01 Jan 100 - 31 Dec 9999
Prerequisites: None
Product Dependencies: ODBC 3.x DM
Clock Dependencies: System clock, Win32 APIs for roll-over calculation for 2-digit years.
Last Updated: 03 May 1999
Product Details

Release Date: September, 1998

How the product handles dates:

ODBC date syntax and escape formats prevent the use of anything but 'YYYY' for the year portion of a date or a TIMESTAMP/DATE struct. The MS Visual FoxPro ODBC Driver complies with the ODBC specifications in this regard.

The MS-Visual FoxPro ODBC Driver supports a special delimiter "{}", unique to Visual FoxPro, to specify date values within an SQL statement sent to the driver. When using this delimiter, it is possible to send dates with 2-digit years to the driver. For example, the following SQL syntax works with the driver:

INSERT INTO mydbf (col_date) values ({12-01-00})

In this case, and others using this syntax, the 2-digit year is converted according to the formula below.

Two-digit shortcut handling:

The driver converts 2-digit years according to the following formula: 50 is added to the current year, and the last two digits of the result are used as the rollover year. 2-digit values that are less than the rollover value are considered to be in the 2000s; 2-digit values that are greater than or equal to the rollover value are considered to be in the 1900s. For example, if the current year is 1998, the driver will use 48 as the rollover year. Any date entered without a century portion and a year of 48 or greater is considered to be in the 1900s. Any date entered without a century portion but with a year before 48 is considered to be in the 2000s.

For those familiar with the Visual FoxPro language, the rollover settings are governed by the SET CENTURY TO..ROLLOVER command which cannot be changed via the ODBC driver. The default values for this setting SET CENTURY TO (INT((YEAR(DATE())+50)/100)-1) ROLLOVER MOD((YEAR(DATE())+50),100).

Testing guidelines and recommendations:

Although the Visual FoxPro ODBC driver handles dates entered without a century portion as noted above, these values represent an ambiguous date format that is not recommended. Use of the Visual FoxPro date conversion functions CTOD() and DTOC() are not recommended unless used with 4-digit years.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual InterDev  1.0   (English)

Product Summary
Product: Visual InterDev Version: 1.0 Category:Compliant*
Language: English OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Microsoft Data Access Components 2.0 Service Pack 2
Product Dependencies: Internet Explorer 3, Internet Information Server 3, Front Page 97, ODBC 3x, ADO 1.5, Scripting2, Visual Source Safe 5.0, Microsoft Data Access Components, Visual Database Tools v5
Clock Dependencies: System Clock
Last Updated: 21 Sep 1999
Product Details

Other Versions

Visual InterDev 1.0 Japanese

Visual InterDev 1.0 German

Visual InterDev Trial Version 1.0 German

Visual InterDev Trial Version 1.0 Japanese

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

How the product runtime handles dates:

File timestamps are compared to decide when another user has changed published files.

Recommended practices to develop year 2000 compliant applications:

The user should follow recommended practices in respective dependent product documentation. Please include any required database backends.

Please see http://www.microsoft.com/technet/year2k/product/product.htm for year 2000 related information on dependent products.

 

Testing guidelines and recommendations:

Users of Visual InterDev are strongly encouraged to review the product dependencies and their associated prerequisites.

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual InterDev  1.0   (German)

Product Summary
Product: Visual InterDev Version: 1.0 Category:Compliant*
Language: German OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Microsoft Data Access Components 2.0 Service Pack 2
Product Dependencies: Internet Explorer 3, Internet Information Server 3, Front Page 97, ODBC 3x, ADO 1.5, Scripting2, Visual Source Safe 5.0, Microsoft Data Access Components, Visual Database Tools v5
Clock Dependencies: System Clock
Last Updated: 21 Sep 1999
Product Details

Other Versions

Visual InterDev 1.0 Japanese

Visual InterDev 1.0 German

Visual InterDev Trial Version 1.0 German

Visual InterDev Trial Version 1.0 Japanese

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

How the product runtime handles dates:

File timestamps are compared to decide when another user has changed published files.

Recommended practices to develop year 2000 compliant applications:

The user should follow recommended practices in respective dependent product documentation. Please include any required database backends.

Please see http://www.microsoft.com/technet/year2k/product/product.htm for year 2000 related information on dependent products.

 

Testing guidelines and recommendations:

Users of Visual InterDev are strongly encouraged to review the product dependencies and their associated prerequisites.

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual InterDev  1.0   (Japanese)

Product Summary
Product: Visual InterDev Version: 1.0 Category:Compliant*
Language: Japanese OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Microsoft Data Access Components 2.0 Service Pack 2
Product Dependencies: Internet Explorer 3, Internet Information Server 3, Front Page 97, ODBC 3x, ADO 1.5, Scripting2, Visual Source Safe 5.0, Microsoft Data Access Components, Visual Database Tools v5
Clock Dependencies: System Clock
Last Updated: 21 Sep 1999
Product Details

Other Versions

Visual InterDev 1.0 Japanese

Visual InterDev 1.0 German

Visual InterDev Trial Version 1.0 German

Visual InterDev Trial Version 1.0 Japanese

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

How the product runtime handles dates:

File timestamps are compared to decide when another user has changed published files.

Recommended practices to develop year 2000 compliant applications:

The user should follow recommended practices in respective dependent product documentation. Please include any required database backends.

Please see http://www.microsoft.com/technet/year2k/product/product.htm for year 2000 related information on dependent products.

 

Testing guidelines and recommendations:

Users of Visual InterDev are strongly encouraged to review the product dependencies and their associated prerequisites.

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual InterDev  6.0   (English)

Product Summary
Product: Visual InterDev Version: 6.0 Category:Compliant*
Language: English OS: 32-Bit Win Release Date: 01 Sep 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Microsoft Data Access Components 2.0 Service Pack 2
Product Dependencies: Internet Explorer 4.01 Service Pack 1, Internet Information Server 4, Front Page 98, ODBC 3x, Scripting4, Visual Source Safe 6.0, Microsoft Data Access Components, Visual Database Tools v6
Clock Dependencies: Operating System Clock
Last Updated: 21 Sep 1999
Product Details

Other Versions

Visual InterDev 6.0 German

Visual InterDev 6.0 French

Visual InterDev 6.0 Japanese

Visual InterDev 6.0 Italian

Visual InterDev 6.0 Spanish

Visual InterDev Trial Version 6.0 French

Visual InterDev Trial Version 6.0 Italian

Visual InterDev Trial Version 6.0 Japanese

Visual InterDev Trial Version 6.0 Spanish

 

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

How the product runtime handles dates:

File timestamps are compared to decide when published files have been changed.

Two-digit shortcut handling:

Visual InterDev applications using Design Time Controls (DTC) use the ScriptLibrary. The ScriptLibrary is fully dependent on Internet Explorer and the scripting engines for these runtime scenarios. Please refer to the documentation for the script engine used.

Outlook Express 4.01 date handling:

Outlook Express 4.01 (OE) is included with, but not a requirement for, Visual InterDev 6.0. If Outlook Express 4.01 receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions. If the 2-digit year is anything other than 99, OE will assume the century value is the same as the current century. If the current year is 2000, and a 2-digit date is received as 97, then the year will be interpreted as 2097. However, there is one special case when different logic is applied. If the 2-digit year 99 is received and current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.

Recommended practices to develop year 2000 compliant applications:

The user is should follow recommended practices in respective dependent product documentation. Please include any required database backends.

Please see http://microsoft.com/technet/year2k/product/product.asp for year 2000 related information on dependent products.

Testing guidelines and recommendations:

Users of Visual InterDev are strongly encouraged to review the product dependencies and their associated prerequisites.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual InterDev  6.0   (French)

Product Summary
Product: Visual InterDev Version: 6.0 Category:Compliant*
Language: French OS: 32-Bit Win Release Date: 01 Sep 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Microsoft Data Access Components 2.0 Service Pack 2
Product Dependencies: Internet Explorer 4.01 Service Pack 1, Internet Information Server 4, Front Page 98, ODBC 3x, Scripting4, Visual Source Safe 6.0, Microsoft Data Access Components, Visual Database Tools v6
Clock Dependencies: Operating System Clock
Last Updated: 21 Sep 1999
Product Details

Other Versions

Visual InterDev 6.0 German

Visual InterDev 6.0 French

Visual InterDev 6.0 Japanese

Visual InterDev 6.0 Italian

Visual InterDev 6.0 Spanish

Visual InterDev Trial Version 6.0 French

Visual InterDev Trial Version 6.0 Italian

Visual InterDev Trial Version 6.0 Japanese

Visual InterDev Trial Version 6.0 Spanish

 

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

How the product runtime handles dates:

File timestamps are compared to decide when published files have been changed.

Two-digit shortcut handling:

Visual InterDev applications using Design Time Controls (DTC) use the ScriptLibrary. The ScriptLibrary is fully dependent on Internet Explorer and the scripting engines for these runtime scenarios. Please refer to the documentation for the script engine used.

Outlook Express 4.01 date handling:

Outlook Express 4.01 (OE) is included with, but not a requirement for, Visual InterDev 6.0. If Outlook Express 4.01 receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions. If the 2-digit year is anything other than 99, OE will assume the century value is the same as the current century. If the current year is 2000, and a 2-digit date is received as 97, then the year will be interpreted as 2097. However, there is one special case when different logic is applied. If the 2-digit year 99 is received and current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.

Recommended practices to develop year 2000 compliant applications:

The user is should follow recommended practices in respective dependent product documentation. Please include any required database backends.

Please see http://microsoft.com/technet/year2k/product/product.asp for year 2000 related information on dependent products.

Testing guidelines and recommendations:

Users of Visual InterDev are strongly encouraged to review the product dependencies and their associated prerequisites.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual InterDev  6.0   (German)

Product Summary
Product: Visual InterDev Version: 6.0 Category:Compliant*
Language: German OS: 32-Bit Win Release Date: 01 Sep 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Microsoft Data Access Components 2.0 Service Pack 2
Product Dependencies: Internet Explorer 4.01 Service Pack 1, Internet Information Server 4, Front Page 98, ODBC 3x, Scripting4, Visual Source Safe 6.0, Microsoft Data Access Components, Visual Database Tools v6
Clock Dependencies: Operating System Clock
Last Updated: 21 Sep 1999
Product Details

Other Versions

Visual InterDev 6.0 German

Visual InterDev 6.0 French

Visual InterDev 6.0 Japanese

Visual InterDev 6.0 Italian

Visual InterDev 6.0 Spanish

Visual InterDev Trial Version 6.0 French

Visual InterDev Trial Version 6.0 Italian

Visual InterDev Trial Version 6.0 Japanese

Visual InterDev Trial Version 6.0 Spanish

 

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

How the product runtime handles dates:

File timestamps are compared to decide when published files have been changed.

Two-digit shortcut handling:

Visual InterDev applications using Design Time Controls (DTC) use the ScriptLibrary. The ScriptLibrary is fully dependent on Internet Explorer and the scripting engines for these runtime scenarios. Please refer to the documentation for the script engine used.

Outlook Express 4.01 date handling:

Outlook Express 4.01 (OE) is included with, but not a requirement for, Visual InterDev 6.0. If Outlook Express 4.01 receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions. If the 2-digit year is anything other than 99, OE will assume the century value is the same as the current century. If the current year is 2000, and a 2-digit date is received as 97, then the year will be interpreted as 2097. However, there is one special case when different logic is applied. If the 2-digit year 99 is received and current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.

Recommended practices to develop year 2000 compliant applications:

The user is should follow recommended practices in respective dependent product documentation. Please include any required database backends.

Please see http://microsoft.com/technet/year2k/product/product.asp for year 2000 related information on dependent products.

Testing guidelines and recommendations:

Users of Visual InterDev are strongly encouraged to review the product dependencies and their associated prerequisites.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual InterDev  6.0   (Italian)

Product Summary
Product: Visual InterDev Version: 6.0 Category:Compliant*
Language: Italian OS: 32-Bit Win Release Date: 01 Sep 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Microsoft Data Access Components 2.0 Service Pack 2
Product Dependencies: Internet Explorer 4.01 Service Pack 1, Internet Information Server 4, Front Page 98, ODBC 3x, Scripting4, Visual Source Safe 6.0, Microsoft Data Access Components, Visual Database Tools v6
Clock Dependencies: Operating System Clock
Last Updated: 21 Sep 1999
Product Details

Other Versions

Visual InterDev 6.0 German

Visual InterDev 6.0 French

Visual InterDev 6.0 Japanese

Visual InterDev 6.0 Italian

Visual InterDev 6.0 Spanish

Visual InterDev Trial Version 6.0 French

Visual InterDev Trial Version 6.0 Italian

Visual InterDev Trial Version 6.0 Japanese

Visual InterDev Trial Version 6.0 Spanish

 

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

How the product runtime handles dates:

File timestamps are compared to decide when published files have been changed.

Two-digit shortcut handling:

Visual InterDev applications using Design Time Controls (DTC) use the ScriptLibrary. The ScriptLibrary is fully dependent on Internet Explorer and the scripting engines for these runtime scenarios. Please refer to the documentation for the script engine used.

Outlook Express 4.01 date handling:

Outlook Express 4.01 (OE) is included with, but not a requirement for, Visual InterDev 6.0. If Outlook Express 4.01 receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions. If the 2-digit year is anything other than 99, OE will assume the century value is the same as the current century. If the current year is 2000, and a 2-digit date is received as 97, then the year will be interpreted as 2097. However, there is one special case when different logic is applied. If the 2-digit year 99 is received and current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.

Recommended practices to develop year 2000 compliant applications:

The user is should follow recommended practices in respective dependent product documentation. Please include any required database backends.

Please see http://microsoft.com/technet/year2k/product/product.asp for year 2000 related information on dependent products.

Testing guidelines and recommendations:

Users of Visual InterDev are strongly encouraged to review the product dependencies and their associated prerequisites.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual InterDev  6.0   (Japanese)

Product Summary
Product: Visual InterDev Version: 6.0 Category:Compliant*
Language: Japanese OS: 32-Bit Win Release Date: 01 Sep 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Microsoft Data Access Components 2.0 Service Pack 2
Product Dependencies: Internet Explorer 4.01 Service Pack 1, Internet Information Server 4, Front Page 98, ODBC 3x, Scripting4, Visual Source Safe 6.0, Microsoft Data Access Components, Visual Database Tools v6
Clock Dependencies: Operating System Clock
Last Updated: 21 Sep 1999
Product Details

Other Versions

Visual InterDev 6.0 German

Visual InterDev 6.0 French

Visual InterDev 6.0 Japanese

Visual InterDev 6.0 Italian

Visual InterDev 6.0 Spanish

Visual InterDev Trial Version 6.0 French

Visual InterDev Trial Version 6.0 Italian

Visual InterDev Trial Version 6.0 Japanese

Visual InterDev Trial Version 6.0 Spanish

 

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

How the product runtime handles dates:

File timestamps are compared to decide when published files have been changed.

Two-digit shortcut handling:

Visual InterDev applications using Design Time Controls (DTC) use the ScriptLibrary. The ScriptLibrary is fully dependent on Internet Explorer and the scripting engines for these runtime scenarios. Please refer to the documentation for the script engine used.

Outlook Express 4.01 date handling:

Outlook Express 4.01 (OE) is included with, but not a requirement for, Visual InterDev 6.0. If Outlook Express 4.01 receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions. If the 2-digit year is anything other than 99, OE will assume the century value is the same as the current century. If the current year is 2000, and a 2-digit date is received as 97, then the year will be interpreted as 2097. However, there is one special case when different logic is applied. If the 2-digit year 99 is received and current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.

Recommended practices to develop year 2000 compliant applications:

The user is should follow recommended practices in respective dependent product documentation. Please include any required database backends.

Please see http://microsoft.com/technet/year2k/product/product.asp for year 2000 related information on dependent products.

Testing guidelines and recommendations:

Users of Visual InterDev are strongly encouraged to review the product dependencies and their associated prerequisites.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual InterDev  6.0   (Spanish)

Product Summary
Product: Visual InterDev Version: 6.0 Category:Compliant*
Language: Spanish OS: 32-Bit Win Release Date: 01 Sep 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Microsoft Data Access Components 2.0 Service Pack 2
Product Dependencies: Internet Explorer 4.01 Service Pack 1, Internet Information Server 4, Front Page 98, ODBC 3x, Scripting4, Visual Source Safe 6.0, Microsoft Data Access Components, Visual Database Tools v6
Clock Dependencies: Operating System Clock
Last Updated: 21 Sep 1999
Product Details

Other Versions

Visual InterDev 6.0 German

Visual InterDev 6.0 French

Visual InterDev 6.0 Japanese

Visual InterDev 6.0 Italian

Visual InterDev 6.0 Spanish

Visual InterDev Trial Version 6.0 French

Visual InterDev Trial Version 6.0 Italian

Visual InterDev Trial Version 6.0 Japanese

Visual InterDev Trial Version 6.0 Spanish

 

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

How the product runtime handles dates:

File timestamps are compared to decide when published files have been changed.

Two-digit shortcut handling:

Visual InterDev applications using Design Time Controls (DTC) use the ScriptLibrary. The ScriptLibrary is fully dependent on Internet Explorer and the scripting engines for these runtime scenarios. Please refer to the documentation for the script engine used.

Outlook Express 4.01 date handling:

Outlook Express 4.01 (OE) is included with, but not a requirement for, Visual InterDev 6.0. If Outlook Express 4.01 receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions. If the 2-digit year is anything other than 99, OE will assume the century value is the same as the current century. If the current year is 2000, and a 2-digit date is received as 97, then the year will be interpreted as 2097. However, there is one special case when different logic is applied. If the 2-digit year 99 is received and current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.

Recommended practices to develop year 2000 compliant applications:

The user is should follow recommended practices in respective dependent product documentation. Please include any required database backends.

Please see http://microsoft.com/technet/year2k/product/product.asp for year 2000 related information on dependent products.

Testing guidelines and recommendations:

Users of Visual InterDev are strongly encouraged to review the product dependencies and their associated prerequisites.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual J++  1.0   (Czech)

Product Summary
Product: Visual J++ Version: 1.0 Category:Compliant
Language: Czech OS: 32-Bit Win Release Date: 01 Nov 1996
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows NT 3.51, windows NT 4.0, Windows 95, Internet Explorer 3.0
Clock Dependencies: Operating System File Date application programming interfaces (APIs)
Last Updated: 16 Sep 1999
Product Details

This report applies to:

Professional edition.

Czech, Polish, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

Operational Range for Data: Dependent on the Virtual Machine being targeted

How the product runtime handles dates:

Dates are handled in the product by the project manager in the compiling of dependent Java files into .class files.

Two-digit shortcut handling:

Design time: There is no real opportunity inside of IDE to do this.

Runtime: Two-digit shortcuts are interpreted in the Java Virtual Machine. Years are specified as the number of years since 1900.

Recommended practices to develop year 2000 compliant applications:

Microsoft recommends developing, testing, and running on year 2000 compliant Operating Systems. If running against other Virtual Machines, ensure that those Virtual Machines are year 2000 compliant as well.

More General Info:

http://www.microsoft.com/technet/year2000

 

Common development errors dealing with year 2000 date issues:

For components that handle dates, ensure they are year 2000 compliant as well.

Testing guidelines and recommendations:Test the generated byte codes against any potential version of the Virtual Machine used to run them and do due diligence to ensure that that particular Virtual Machine is year 2000 compliant.

More General Info:

http://www.microsoft.com/technet/year2k


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual J++  1.0   (English)

Product Summary
Product: Visual J++ Version: 1.0 Category:Compliant
Language: English OS: 32-Bit Win Release Date: 01 Nov 1996
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows NT 3.51, windows NT 4.0, Windows 95, Internet Explorer 3.0
Clock Dependencies: Operating System File Date application programming interfaces (APIs)
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional edition.

Czech, Polish, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

Operational Range for Data: Dependent on the Virtual Machine being targeted

How the product runtime handles dates:

Dates are handled in the product by the project manager in the compiling of dependent Java files into .class files.

Two-digit shortcut handling:

Design time: There is no real opportunity inside of IDE to do this.

Runtime: Two-digit shortcuts are interpreted in the Java Virtual Machine. Years are specified as the number of years since 1900.

Recommended practices to develop year 2000 compliant applications:

Microsoft recommends developing, testing, and running on year 2000 compliant Operating Systems. If running against other Virtual Machines, ensure that those Virtual Machines are year 2000 compliant as well.

More General Info:

http://www.microsoft.com/technet/year2000

 

Common development errors dealing with year 2000 date issues:

For components that handle dates, ensure they are year 2000 compliant as well.

Testing guidelines and recommendations:Test the generated byte codes against any potential version of the Virtual Machine used to run them and do due diligence to ensure that that particular Virtual Machine is year 2000 compliant.

More General Info:

http://www.microsoft.com/technet/year2k


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual J++  1.0   (German)

Product Summary
Product: Visual J++ Version: 1.0 Category:Compliant
Language: German OS: 32-Bit Win Release Date: 01 Nov 1996
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows NT 3.51, windows NT 4.0, Windows 95, Internet Explorer 3.0
Clock Dependencies: Operating System File Date application programming interfaces (APIs)
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional edition.

Czech, Polish, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

Operational Range for Data: Dependent on the Virtual Machine being targeted

How the product runtime handles dates:

Dates are handled in the product by the project manager in the compiling of dependent Java files into .class files.

Two-digit shortcut handling:

Design time: There is no real opportunity inside of IDE to do this.

Runtime: Two-digit shortcuts are interpreted in the Java Virtual Machine. Years are specified as the number of years since 1900.

Recommended practices to develop year 2000 compliant applications:

Microsoft recommends developing, testing, and running on year 2000 compliant Operating Systems. If running against other Virtual Machines, ensure that those Virtual Machines are year 2000 compliant as well.

More General Info:

http://www.microsoft.com/technet/year2000

 

Common development errors dealing with year 2000 date issues:

For components that handle dates, ensure they are year 2000 compliant as well.

Testing guidelines and recommendations:Test the generated byte codes against any potential version of the Virtual Machine used to run them and do due diligence to ensure that that particular Virtual Machine is year 2000 compliant.

More General Info:

http://www.microsoft.com/technet/year2k


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual J++  1.0   (Japanese)

Product Summary
Product: Visual J++ Version: 1.0 Category:Compliant
Language: Japanese OS: 32-Bit Win Release Date: 01 Nov 1996
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows NT 3.51, windows NT 4.0, Windows 95, Internet Explorer 3.0
Clock Dependencies: Operating System File Date application programming interfaces (APIs)
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional edition.

Czech, Polish, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

Operational Range for Data: Dependent on the Virtual Machine being targeted

How the product runtime handles dates:

Dates are handled in the product by the project manager in the compiling of dependent Java files into .class files.

Two-digit shortcut handling:

Design time: There is no real opportunity inside of IDE to do this.

Runtime: Two-digit shortcuts are interpreted in the Java Virtual Machine. Years are specified as the number of years since 1900.

Recommended practices to develop year 2000 compliant applications:

Microsoft recommends developing, testing, and running on year 2000 compliant Operating Systems. If running against other Virtual Machines, ensure that those Virtual Machines are year 2000 compliant as well.

More General Info:

http://www.microsoft.com/technet/year2000

 

Common development errors dealing with year 2000 date issues:

For components that handle dates, ensure they are year 2000 compliant as well.

Testing guidelines and recommendations:Test the generated byte codes against any potential version of the Virtual Machine used to run them and do due diligence to ensure that that particular Virtual Machine is year 2000 compliant.

More General Info:

http://www.microsoft.com/technet/year2k


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual J++  1.0   (Polish)

Product Summary
Product: Visual J++ Version: 1.0 Category:Compliant
Language: Polish OS: 32-Bit Win Release Date: 01 Nov 1996
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows NT 3.51, windows NT 4.0, Windows 95, Internet Explorer 3.0
Clock Dependencies: Operating System File Date application programming interfaces (APIs)
Last Updated: 16 Sep 1999
Product Details

This report applies to:

Professional edition.

Czech, Polish, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

Operational Range for Data: Dependent on the Virtual Machine being targeted

How the product runtime handles dates:

Dates are handled in the product by the project manager in the compiling of dependent Java files into .class files.

Two-digit shortcut handling:

Design time: There is no real opportunity inside of IDE to do this.

Runtime: Two-digit shortcuts are interpreted in the Java Virtual Machine. Years are specified as the number of years since 1900.

Recommended practices to develop year 2000 compliant applications:

Microsoft recommends developing, testing, and running on year 2000 compliant Operating Systems. If running against other Virtual Machines, ensure that those Virtual Machines are year 2000 compliant as well.

More General Info:

http://www.microsoft.com/technet/year2000

 

Common development errors dealing with year 2000 date issues:

For components that handle dates, ensure they are year 2000 compliant as well.

Testing guidelines and recommendations:Test the generated byte codes against any potential version of the Virtual Machine used to run them and do due diligence to ensure that that particular Virtual Machine is year 2000 compliant.

More General Info:

http://www.microsoft.com/technet/year2k


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual J++  1.0   (Russian)

Product Summary
Product: Visual J++ Version: 1.0 Category:Compliant
Language: Russian OS: 32-Bit Win Release Date: 01 Nov 1996
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: None
Product Dependencies: Windows NT 3.51, windows NT 4.0, Windows 95, Internet Explorer 3.0
Clock Dependencies: Operating System File Date application programming interfaces (APIs)
Last Updated: 16 Sep 1999
Product Details

This report applies to:

Professional edition.

Czech, Polish, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

Operational Range for Data: Dependent on the Virtual Machine being targeted

How the product runtime handles dates:

Dates are handled in the product by the project manager in the compiling of dependent Java files into .class files.

Two-digit shortcut handling:

Design time: There is no real opportunity inside of IDE to do this.

Runtime: Two-digit shortcuts are interpreted in the Java Virtual Machine. Years are specified as the number of years since 1900.

Recommended practices to develop year 2000 compliant applications:

Microsoft recommends developing, testing, and running on year 2000 compliant Operating Systems. If running against other Virtual Machines, ensure that those Virtual Machines are year 2000 compliant as well.

More General Info:

http://www.microsoft.com/technet/year2000

 

Common development errors dealing with year 2000 date issues:

For components that handle dates, ensure they are year 2000 compliant as well.

Testing guidelines and recommendations:Test the generated byte codes against any potential version of the Virtual Machine used to run them and do due diligence to ensure that that particular Virtual Machine is year 2000 compliant.

More General Info:

http://www.microsoft.com/technet/year2k


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual J++  1.1   (Czech)

Product Summary
Product: Visual J++ Version: 1.1 Category:Compliant*
Language: Czech OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Visual Studio 97 - Service Pack 3
Product Dependencies: Windows NT 3.51, windows NT 4.0, Windows 95, Internet Explorer 3.02
Clock Dependencies: Operating System File Date application programming interfaces (APIs)
Last Updated: 28 Sep 1999
Product Details

This report applies to:

Professional edition.

Czech, Polish, and Russian contain U.S. software.

Operational Range for Data: Dependent on the Virtual Machine being targeted

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

How the product runtime handles dates:

Dates are handled in the product by the project manager in the compiling of dependent Java files into .class files.

Two-digit shortcut handling:

Design time: No real opportunity inside of IDE to do this.

Runtime: Yes. Java Virtual Machine Dependent. Years are specified as the number of years since 1900.

Recommended practices to develop year 2000 compliant applications:

Microsoft recommends developing, testing, and running on year 2000 compliant Operating Systems. If running against other Virtual Machines, ensure that those Virtual Machines are year 2000 compliant as well.

More General Info:

http://www.microsoft.com/y2k

Common development errors dealing with year 2000 date issues:

For components that handle dates, ensure that they are year 2000 compliant as well.

Testing guidelines and recommendations:

Test the generated byte codes against any potential version of the Virtual Machine used to run them and do due diligence to ensure that that particular Virtual Machine is year 2000 compliant.

More General Info:

http://www.microsoft.com/y2k

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual J++  1.1   (English)

Product Summary
Product: Visual J++ Version: 1.1 Category:Compliant*
Language: English OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Visual Studio 97 - Service Pack 3
Product Dependencies: Windows NT 3.51, windows NT 4.0, Windows 95, Internet Explorer 3.02
Clock Dependencies: Operating System File Date application programming interfaces (APIs)
Last Updated: 28 Sep 1999
Product Details

This report applies to:

Professional edition.

Czech, Polish, and Russian contain U.S. software.

Operational Range for Data: Dependent on the Virtual Machine being targeted

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

How the product runtime handles dates:

Dates are handled in the product by the project manager in the compiling of dependent Java files into .class files.

Two-digit shortcut handling:

Design time: No real opportunity inside of IDE to do this.

Runtime: Yes. Java Virtual Machine Dependent. Years are specified as the number of years since 1900.

Recommended practices to develop year 2000 compliant applications:

Microsoft recommends developing, testing, and running on year 2000 compliant Operating Systems. If running against other Virtual Machines, ensure that those Virtual Machines are year 2000 compliant as well.

More General Info:

http://www.microsoft.com/y2k

Common development errors dealing with year 2000 date issues:

For components that handle dates, ensure that they are year 2000 compliant as well.

Testing guidelines and recommendations:

Test the generated byte codes against any potential version of the Virtual Machine used to run them and do due diligence to ensure that that particular Virtual Machine is year 2000 compliant.

More General Info:

http://www.microsoft.com/y2k

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual J++  1.1   (German)

Product Summary
Product: Visual J++ Version: 1.1 Category:Compliant*
Language: German OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Visual Studio 97 - Service Pack 3
Product Dependencies: Windows NT 3.51, windows NT 4.0, Windows 95, Internet Explorer 3.02
Clock Dependencies: Operating System File Date application programming interfaces (APIs)
Last Updated: 28 Sep 1999
Product Details

This report applies to:

Professional edition.

Czech, Polish, and Russian contain U.S. software.

Operational Range for Data: Dependent on the Virtual Machine being targeted

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

How the product runtime handles dates:

Dates are handled in the product by the project manager in the compiling of dependent Java files into .class files.

Two-digit shortcut handling:

Design time: No real opportunity inside of IDE to do this.

Runtime: Yes. Java Virtual Machine Dependent. Years are specified as the number of years since 1900.

Recommended practices to develop year 2000 compliant applications:

Microsoft recommends developing, testing, and running on year 2000 compliant Operating Systems. If running against other Virtual Machines, ensure that those Virtual Machines are year 2000 compliant as well.

More General Info:

http://www.microsoft.com/y2k

Common development errors dealing with year 2000 date issues:

For components that handle dates, ensure that they are year 2000 compliant as well.

Testing guidelines and recommendations:

Test the generated byte codes against any potential version of the Virtual Machine used to run them and do due diligence to ensure that that particular Virtual Machine is year 2000 compliant.

More General Info:

http://www.microsoft.com/y2k

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual J++  1.1   (Japanese)

Product Summary
Product: Visual J++ Version: 1.1 Category:Compliant*
Language: Japanese OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Visual Studio 97 - Service Pack 3
Product Dependencies: Windows NT 3.51, windows NT 4.0, Windows 95, Internet Explorer 3.02
Clock Dependencies: Operating System File Date application programming interfaces (APIs)
Last Updated: 28 Sep 1999
Product Details

This report applies to:

Professional edition.

Czech, Polish, and Russian contain U.S. software.

Operational Range for Data: Dependent on the Virtual Machine being targeted

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

How the product runtime handles dates:

Dates are handled in the product by the project manager in the compiling of dependent Java files into .class files.

Two-digit shortcut handling:

Design time: No real opportunity inside of IDE to do this.

Runtime: Yes. Java Virtual Machine Dependent. Years are specified as the number of years since 1900.

Recommended practices to develop year 2000 compliant applications:

Microsoft recommends developing, testing, and running on year 2000 compliant Operating Systems. If running against other Virtual Machines, ensure that those Virtual Machines are year 2000 compliant as well.

More General Info:

http://www.microsoft.com/y2k

Common development errors dealing with year 2000 date issues:

For components that handle dates, ensure that they are year 2000 compliant as well.

Testing guidelines and recommendations:

Test the generated byte codes against any potential version of the Virtual Machine used to run them and do due diligence to ensure that that particular Virtual Machine is year 2000 compliant.

More General Info:

http://www.microsoft.com/y2k

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual J++  1.1   (Polish)

Product Summary
Product: Visual J++ Version: 1.1 Category:Compliant*
Language: Polish OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Visual Studio 97 - Service Pack 3
Product Dependencies: Windows NT 3.51, windows NT 4.0, Windows 95, Internet Explorer 3.02
Clock Dependencies: Operating System File Date application programming interfaces (APIs)
Last Updated: 28 Sep 1999
Product Details

This report applies to:

Professional edition.

Czech, Polish, and Russian contain U.S. software.

Operational Range for Data: Dependent on the Virtual Machine being targeted

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

How the product runtime handles dates:

Dates are handled in the product by the project manager in the compiling of dependent Java files into .class files.

Two-digit shortcut handling:

Design time: No real opportunity inside of IDE to do this.

Runtime: Yes. Java Virtual Machine Dependent. Years are specified as the number of years since 1900.

Recommended practices to develop year 2000 compliant applications:

Microsoft recommends developing, testing, and running on year 2000 compliant Operating Systems. If running against other Virtual Machines, ensure that those Virtual Machines are year 2000 compliant as well.

More General Info:

http://www.microsoft.com/y2k

Common development errors dealing with year 2000 date issues:

For components that handle dates, ensure that they are year 2000 compliant as well.

Testing guidelines and recommendations:

Test the generated byte codes against any potential version of the Virtual Machine used to run them and do due diligence to ensure that that particular Virtual Machine is year 2000 compliant.

More General Info:

http://www.microsoft.com/y2k

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual J++  1.1   (Russian)

Product Summary
Product: Visual J++ Version: 1.1 Category:Compliant*
Language: Russian OS: 32-Bit Win Release Date: 01 Feb 1997
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Visual Studio 97 - Service Pack 3
Product Dependencies: Windows NT 3.51, windows NT 4.0, Windows 95, Internet Explorer 3.02
Clock Dependencies: Operating System File Date application programming interfaces (APIs)
Last Updated: 28 Sep 1999
Product Details

This report applies to:

Professional edition.

Czech, Polish, and Russian contain U.S. software.

Operational Range for Data: Dependent on the Virtual Machine being targeted

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

How the product runtime handles dates:

Dates are handled in the product by the project manager in the compiling of dependent Java files into .class files.

Two-digit shortcut handling:

Design time: No real opportunity inside of IDE to do this.

Runtime: Yes. Java Virtual Machine Dependent. Years are specified as the number of years since 1900.

Recommended practices to develop year 2000 compliant applications:

Microsoft recommends developing, testing, and running on year 2000 compliant Operating Systems. If running against other Virtual Machines, ensure that those Virtual Machines are year 2000 compliant as well.

More General Info:

http://www.microsoft.com/y2k

Common development errors dealing with year 2000 date issues:

For components that handle dates, ensure that they are year 2000 compliant as well.

Testing guidelines and recommendations:

Test the generated byte codes against any potential version of the Virtual Machine used to run them and do due diligence to ensure that that particular Virtual Machine is year 2000 compliant.

More General Info:

http://www.microsoft.com/y2k

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual J++  6.0   (Czech)

Product Summary
Product: Visual J++ Version: 6.0 Category:Compliant*
Language: Czech OS: 32-Bit Win Release Date: 12 Aug 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows 9x, Windows NT 4.0 Service Pack 4
Product Dependencies: Microsoft Java Virtual Machine, Microsoft Visual SourceSafe, Microsoft Internet Explorer 4.01 Service Pack 1
Clock Dependencies: Operating System File Date API, OLEAUT32.DLL
Last Updated: 16 Sep 1999
Product Details

This report applies to:

Professional and Standard editions.

Czech, Polish, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

Operational Range for Data: Dependent on the Virtual Machine being targeted.

How the product runtime handles dates:

IDE – Rebuilding of class files depends on date order for smart compiling.

IDE/RunTime – TimeDatePicker and Calendar controls use date objects. Com.ms.wfc.app.Time class calls through to OLEAUT32.dll.

Two-digit shortcut handling:

Passing the WFC Time Object "1/1/98" will use OLEAUT32.dll to convert. Dates past 12/31/00 through 12/31/29 will be converted to 20xx dates. Other 2-digit year dates (30-99) will be 19xx

Note on Internet Explorer 4.01 Service Pack 1:

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions. If the 2-digit year is anything other than 99, OE will assume the century value is the same as the current century. If the current year is 2000, and a 2-digit date is received as 97, then the year will be interpreted as 2097. However, there is one special case when different logic is applied. If the 2-digit year 99 is received and the current year is a multiple of 100 (e.g. 2000), then the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this software update in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.

Recommended practices to develop year 2000 compliant applications:

Using the WFC time object functions to work with time.

Using the DateTimePicker and Calendar controls to input data in the User Interface.

Common development errors dealing with year 2000 date issues:

Be careful using components that can be "Imported" which handle dates. You should evaluate their date handling characteristics as well.

Testing guidelines and recommendations:

For applications that are built, it is recommended to use the intrinsic date/time controls and objects (unless the control/object has been tested thoroughly).

 

 

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual J++  6.0   (English)

Product Summary
Product: Visual J++ Version: 6.0 Category:Compliant*
Language: English OS: 32-Bit Win Release Date: 12 Aug 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows 9x, Windows NT 4.0 Service Pack 4
Product Dependencies: Microsoft Java Virtual Machine, Microsoft Visual SourceSafe, Microsoft Internet Explorer 4.01 Service Pack 1
Clock Dependencies: Operating System File Date API, OLEAUT32.DLL
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional and Standard editions.

Czech, Polish, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

Operational Range for Data: Dependent on the Virtual Machine being targeted.

How the product runtime handles dates:

IDE – Rebuilding of class files depends on date order for smart compiling.

IDE/RunTime – TimeDatePicker and Calendar controls use date objects. Com.ms.wfc.app.Time class calls through to OLEAUT32.dll.

Two-digit shortcut handling:

Passing the WFC Time Object "1/1/98" will use OLEAUT32.dll to convert. Dates past 12/31/00 through 12/31/29 will be converted to 20xx dates. Other 2-digit year dates (30-99) will be 19xx

Note on Internet Explorer 4.01 Service Pack 1:

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions. If the 2-digit year is anything other than 99, OE will assume the century value is the same as the current century. If the current year is 2000, and a 2-digit date is received as 97, then the year will be interpreted as 2097. However, there is one special case when different logic is applied. If the 2-digit year 99 is received and the current year is a multiple of 100 (e.g. 2000), then the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this software update in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.

Recommended practices to develop year 2000 compliant applications:

Using the WFC time object functions to work with time.

Using the DateTimePicker and Calendar controls to input data in the User Interface.

Common development errors dealing with year 2000 date issues:

Be careful using components that can be "Imported" which handle dates. You should evaluate their date handling characteristics as well.

Testing guidelines and recommendations:

For applications that are built, it is recommended to use the intrinsic date/time controls and objects (unless the control/object has been tested thoroughly).

 

 

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual J++  6.0   (French)

Product Summary
Product: Visual J++ Version: 6.0 Category:Compliant*
Language: French OS: 32-Bit Win Release Date: 12 Aug 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows 9x, Windows NT 4.0 Service Pack 4
Product Dependencies: Microsoft Java Virtual Machine, Microsoft Visual SourceSafe, Microsoft Internet Explorer 4.01 Service Pack 1
Clock Dependencies: Operating System File Date API, OLEAUT32.DLL
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional and Standard editions.

Czech, Polish, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

Operational Range for Data: Dependent on the Virtual Machine being targeted.

How the product runtime handles dates:

IDE – Rebuilding of class files depends on date order for smart compiling.

IDE/RunTime – TimeDatePicker and Calendar controls use date objects. Com.ms.wfc.app.Time class calls through to OLEAUT32.dll.

Two-digit shortcut handling:

Passing the WFC Time Object "1/1/98" will use OLEAUT32.dll to convert. Dates past 12/31/00 through 12/31/29 will be converted to 20xx dates. Other 2-digit year dates (30-99) will be 19xx

Note on Internet Explorer 4.01 Service Pack 1:

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions. If the 2-digit year is anything other than 99, OE will assume the century value is the same as the current century. If the current year is 2000, and a 2-digit date is received as 97, then the year will be interpreted as 2097. However, there is one special case when different logic is applied. If the 2-digit year 99 is received and the current year is a multiple of 100 (e.g. 2000), then the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this software update in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.

Recommended practices to develop year 2000 compliant applications:

Using the WFC time object functions to work with time.

Using the DateTimePicker and Calendar controls to input data in the User Interface.

Common development errors dealing with year 2000 date issues:

Be careful using components that can be "Imported" which handle dates. You should evaluate their date handling characteristics as well.

Testing guidelines and recommendations:

For applications that are built, it is recommended to use the intrinsic date/time controls and objects (unless the control/object has been tested thoroughly).

 

 

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual J++  6.0   (German)

Product Summary
Product: Visual J++ Version: 6.0 Category:Compliant*
Language: German OS: 32-Bit Win Release Date: 12 Aug 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows 9x, Windows NT 4.0 Service Pack 4
Product Dependencies: Microsoft Java Virtual Machine, Microsoft Visual SourceSafe, Microsoft Internet Explorer 4.01 Service Pack 1
Clock Dependencies: Operating System File Date API, OLEAUT32.DLL
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional and Standard editions.

Czech, Polish, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

Operational Range for Data: Dependent on the Virtual Machine being targeted.

How the product runtime handles dates:

IDE – Rebuilding of class files depends on date order for smart compiling.

IDE/RunTime – TimeDatePicker and Calendar controls use date objects. Com.ms.wfc.app.Time class calls through to OLEAUT32.dll.

Two-digit shortcut handling:

Passing the WFC Time Object "1/1/98" will use OLEAUT32.dll to convert. Dates past 12/31/00 through 12/31/29 will be converted to 20xx dates. Other 2-digit year dates (30-99) will be 19xx

Note on Internet Explorer 4.01 Service Pack 1:

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions. If the 2-digit year is anything other than 99, OE will assume the century value is the same as the current century. If the current year is 2000, and a 2-digit date is received as 97, then the year will be interpreted as 2097. However, there is one special case when different logic is applied. If the 2-digit year 99 is received and the current year is a multiple of 100 (e.g. 2000), then the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this software update in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.

Recommended practices to develop year 2000 compliant applications:

Using the WFC time object functions to work with time.

Using the DateTimePicker and Calendar controls to input data in the User Interface.

Common development errors dealing with year 2000 date issues:

Be careful using components that can be "Imported" which handle dates. You should evaluate their date handling characteristics as well.

Testing guidelines and recommendations:

For applications that are built, it is recommended to use the intrinsic date/time controls and objects (unless the control/object has been tested thoroughly).

 

 

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual J++  6.0   (Italian)

Product Summary
Product: Visual J++ Version: 6.0 Category:Compliant*
Language: Italian OS: 32-Bit Win Release Date: 12 Aug 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows 9x, Windows NT 4.0 Service Pack 4
Product Dependencies: Microsoft Java Virtual Machine, Microsoft Visual SourceSafe, Microsoft Internet Explorer 4.01 Service Pack 1
Clock Dependencies: Operating System File Date API, OLEAUT32.DLL
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional and Standard editions.

Czech, Polish, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

Operational Range for Data: Dependent on the Virtual Machine being targeted.

How the product runtime handles dates:

IDE – Rebuilding of class files depends on date order for smart compiling.

IDE/RunTime – TimeDatePicker and Calendar controls use date objects. Com.ms.wfc.app.Time class calls through to OLEAUT32.dll.

Two-digit shortcut handling:

Passing the WFC Time Object "1/1/98" will use OLEAUT32.dll to convert. Dates past 12/31/00 through 12/31/29 will be converted to 20xx dates. Other 2-digit year dates (30-99) will be 19xx

Note on Internet Explorer 4.01 Service Pack 1:

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions. If the 2-digit year is anything other than 99, OE will assume the century value is the same as the current century. If the current year is 2000, and a 2-digit date is received as 97, then the year will be interpreted as 2097. However, there is one special case when different logic is applied. If the 2-digit year 99 is received and the current year is a multiple of 100 (e.g. 2000), then the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this software update in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.

Recommended practices to develop year 2000 compliant applications:

Using the WFC time object functions to work with time.

Using the DateTimePicker and Calendar controls to input data in the User Interface.

Common development errors dealing with year 2000 date issues:

Be careful using components that can be "Imported" which handle dates. You should evaluate their date handling characteristics as well.

Testing guidelines and recommendations:

For applications that are built, it is recommended to use the intrinsic date/time controls and objects (unless the control/object has been tested thoroughly).

 

 

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual J++  6.0   (Japanese)

Product Summary
Product: Visual J++ Version: 6.0 Category:Compliant*
Language: Japanese OS: 32-Bit Win Release Date: 12 Aug 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows 9x, Windows NT 4.0 Service Pack 4
Product Dependencies: Microsoft Java Virtual Machine, Microsoft Visual SourceSafe, Microsoft Internet Explorer 4.01 Service Pack 1
Clock Dependencies: Operating System File Date API, OLEAUT32.DLL
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional and Standard editions.

Czech, Polish, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

Operational Range for Data: Dependent on the Virtual Machine being targeted.

How the product runtime handles dates:

IDE – Rebuilding of class files depends on date order for smart compiling.

IDE/RunTime – TimeDatePicker and Calendar controls use date objects. Com.ms.wfc.app.Time class calls through to OLEAUT32.dll.

Two-digit shortcut handling:

Passing the WFC Time Object "1/1/98" will use OLEAUT32.dll to convert. Dates past 12/31/00 through 12/31/29 will be converted to 20xx dates. Other 2-digit year dates (30-99) will be 19xx

Note on Internet Explorer 4.01 Service Pack 1:

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions. If the 2-digit year is anything other than 99, OE will assume the century value is the same as the current century. If the current year is 2000, and a 2-digit date is received as 97, then the year will be interpreted as 2097. However, there is one special case when different logic is applied. If the 2-digit year 99 is received and the current year is a multiple of 100 (e.g. 2000), then the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this software update in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.

Recommended practices to develop year 2000 compliant applications:

Using the WFC time object functions to work with time.

Using the DateTimePicker and Calendar controls to input data in the User Interface.

Common development errors dealing with year 2000 date issues:

Be careful using components that can be "Imported" which handle dates. You should evaluate their date handling characteristics as well.

Testing guidelines and recommendations:

For applications that are built, it is recommended to use the intrinsic date/time controls and objects (unless the control/object has been tested thoroughly).

 

 

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual J++  6.0   (Polish)

Product Summary
Product: Visual J++ Version: 6.0 Category:Compliant*
Language: Polish OS: 32-Bit Win Release Date: 12 Aug 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows 9x, Windows NT 4.0 Service Pack 4
Product Dependencies: Microsoft Java Virtual Machine, Microsoft Visual SourceSafe, Microsoft Internet Explorer 4.01 Service Pack 1
Clock Dependencies: Operating System File Date API, OLEAUT32.DLL
Last Updated: 16 Sep 1999
Product Details

This report applies to:

Professional and Standard editions.

Czech, Polish, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

Operational Range for Data: Dependent on the Virtual Machine being targeted.

How the product runtime handles dates:

IDE – Rebuilding of class files depends on date order for smart compiling.

IDE/RunTime – TimeDatePicker and Calendar controls use date objects. Com.ms.wfc.app.Time class calls through to OLEAUT32.dll.

Two-digit shortcut handling:

Passing the WFC Time Object "1/1/98" will use OLEAUT32.dll to convert. Dates past 12/31/00 through 12/31/29 will be converted to 20xx dates. Other 2-digit year dates (30-99) will be 19xx

Note on Internet Explorer 4.01 Service Pack 1:

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions. If the 2-digit year is anything other than 99, OE will assume the century value is the same as the current century. If the current year is 2000, and a 2-digit date is received as 97, then the year will be interpreted as 2097. However, there is one special case when different logic is applied. If the 2-digit year 99 is received and the current year is a multiple of 100 (e.g. 2000), then the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this software update in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.

Recommended practices to develop year 2000 compliant applications:

Using the WFC time object functions to work with time.

Using the DateTimePicker and Calendar controls to input data in the User Interface.

Common development errors dealing with year 2000 date issues:

Be careful using components that can be "Imported" which handle dates. You should evaluate their date handling characteristics as well.

Testing guidelines and recommendations:

For applications that are built, it is recommended to use the intrinsic date/time controls and objects (unless the control/object has been tested thoroughly).

 

 

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual J++  6.0   (Russian)

Product Summary
Product: Visual J++ Version: 6.0 Category:Compliant*
Language: Russian OS: 32-Bit Win Release Date: 12 Aug 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows 9x, Windows NT 4.0 Service Pack 4
Product Dependencies: Microsoft Java Virtual Machine, Microsoft Visual SourceSafe, Microsoft Internet Explorer 4.01 Service Pack 1
Clock Dependencies: Operating System File Date API, OLEAUT32.DLL
Last Updated: 16 Sep 1999
Product Details

This report applies to:

Professional and Standard editions.

Czech, Polish, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

Operational Range for Data: Dependent on the Virtual Machine being targeted.

How the product runtime handles dates:

IDE – Rebuilding of class files depends on date order for smart compiling.

IDE/RunTime – TimeDatePicker and Calendar controls use date objects. Com.ms.wfc.app.Time class calls through to OLEAUT32.dll.

Two-digit shortcut handling:

Passing the WFC Time Object "1/1/98" will use OLEAUT32.dll to convert. Dates past 12/31/00 through 12/31/29 will be converted to 20xx dates. Other 2-digit year dates (30-99) will be 19xx

Note on Internet Explorer 4.01 Service Pack 1:

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions. If the 2-digit year is anything other than 99, OE will assume the century value is the same as the current century. If the current year is 2000, and a 2-digit date is received as 97, then the year will be interpreted as 2097. However, there is one special case when different logic is applied. If the 2-digit year 99 is received and the current year is a multiple of 100 (e.g. 2000), then the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this software update in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.

Recommended practices to develop year 2000 compliant applications:

Using the WFC time object functions to work with time.

Using the DateTimePicker and Calendar controls to input data in the User Interface.

Common development errors dealing with year 2000 date issues:

Be careful using components that can be "Imported" which handle dates. You should evaluate their date handling characteristics as well.

Testing guidelines and recommendations:

For applications that are built, it is recommended to use the intrinsic date/time controls and objects (unless the control/object has been tested thoroughly).

 

 

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual J++  6.0   (Spanish)

Product Summary
Product: Visual J++ Version: 6.0 Category:Compliant*
Language: Spanish OS: 32-Bit Win Release Date: 12 Aug 1998
Operational Range: -
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: Windows 9x, Windows NT 4.0 Service Pack 4
Product Dependencies: Microsoft Java Virtual Machine, Microsoft Visual SourceSafe, Microsoft Internet Explorer 4.01 Service Pack 1
Clock Dependencies: Operating System File Date API, OLEAUT32.DLL
Last Updated: 13 Sep 1999
Product Details

This report applies to:

Professional and Standard editions.

Czech, Polish, and Russian contain U.S. software.

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

Operational Range for Data: Dependent on the Virtual Machine being targeted.

How the product runtime handles dates:

IDE – Rebuilding of class files depends on date order for smart compiling.

IDE/RunTime – TimeDatePicker and Calendar controls use date objects. Com.ms.wfc.app.Time class calls through to OLEAUT32.dll.

Two-digit shortcut handling:

Passing the WFC Time Object "1/1/98" will use OLEAUT32.dll to convert. Dates past 12/31/00 through 12/31/29 will be converted to 20xx dates. Other 2-digit year dates (30-99) will be 19xx

Note on Internet Explorer 4.01 Service Pack 1:

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions. If the 2-digit year is anything other than 99, OE will assume the century value is the same as the current century. If the current year is 2000, and a 2-digit date is received as 97, then the year will be interpreted as 2097. However, there is one special case when different logic is applied. If the 2-digit year 99 is received and the current year is a multiple of 100 (e.g. 2000), then the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this software update in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.

Recommended practices to develop year 2000 compliant applications:

Using the WFC time object functions to work with time.

Using the DateTimePicker and Calendar controls to input data in the User Interface.

Common development errors dealing with year 2000 date issues:

Be careful using components that can be "Imported" which handle dates. You should evaluate their date handling characteristics as well.

Testing guidelines and recommendations:

For applications that are built, it is recommended to use the intrinsic date/time controls and objects (unless the control/object has been tested thoroughly).

 

 

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual SourceSafe  4.0a  (English)

Product Summary
Product: Visual SourceSafe Version: 4.0a Category:Not Compliant
Language: English OS: 16-Bit Win Release Date: 07 Feb 1996
Operational Range: 01 Jan 1970 - 31 Dec 2027
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: none
Product Dependencies: none
Clock Dependencies: Operating System Clock
Last Updated: 05 Nov 1999
Product Details

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

How the product runtime handles dates:

Visual SourceSafe 4.0a, has known issues with date handling for dates past 12/31/1999. These issues can be summarized as:

  1. Display issues with the year portion of dates
  2. History pull of a file or project filtered by user specified dates may return unintended dates
  3. Behavior issues when using –VD command line switch

Visual SourceSafe 4.0a uses a 32-bit integer to store the number of seconds since 1/1/1970 for date handling. When these dates are displayed, the years since 1900 are stored in a signed char. This is a restrictive structure used by Visual SourceSafe 4.0a in handling date data and is the reason behind the display issues outlined below.

Displaying year portion of dates

Dates from 1/1/2000 to 12/31/2027 display a special character in place of the 10's digit of the year as follows (where X is any digit from 0-9):

Dates like 200X, appear as 20:X

Dates like 201X, appear as 20;X

Dates like 202X, appear as 20<X

For example the date 2003 is displayed as 20:3 and 2015 is displayed as 20;5. The issue described above is a cosmetic display issue and does not impact the storage of files or project data. This data is stored as documented in Books Online for VSS. Dates beyond 12/31/2027 are not legible and character mapping cannot be easily defined.

Pulling file or project history by user specified dates

This issue can be summarized by the following:

  • In the History pre-dialog where one can specify a date range to do a history on ("show the History between 1/1/97 and 2/24/2000), if a date is specified after the year 2000, it will be treated as a date in the 1900s. The same issue exists on the command line.
  • The history pre-dialog in version 4.0a does not accept 4-digit years.

The issues described above are cosmetic display issues and do not impact the storage of files or project data. This data is stored as documented in Books Online for VSS. The history report issue does not have an impact on the applications that developers build using Visual SourceSafe as the source code control tool. Only the ability to view history where a date is specified is affected.

Using –VD command line switch

Visual SourceSafe commands using the -VD switch will execute on the latest version of the specified file when specifying a date past 12/31/1999. This issue impacts the following Visual SourceSafe 4.0a commands:

  • Checkout
  • Comment
  • Diff
  • Dir
  • Findinfiles
  • Get
  • History
  • Label
  • Pin
  • Rollback
  • Share
  • View

Depending on which command is used, this issue can cause data corruption and/or loss since the incorrect file may be used to perform the specified operation.

 

BIOS dependencies in Visual SourceSafe:

Visual SourceSafe uses a "time stamp" to apply a date to files. This time stamp contains date information obtained from the user’s system clock. The time stamp is provided by the machine’s BIOS (Basic Input-Output System), and is not provided by Visual SourceSafe. If the machine uses a year 2000 non-compliant BIOS/RTC that fails to reset the system clock to January 1, 2000 (and if the operating system does not automatically correct the date) new files and new versions will be saved with incorrect time stamps. This could lead to versions of files not appearing in the history dialog. Users should contact their PC vendor to ensure that the computer's BIOS is year 2000 compliant.

Two-digit shortcut handling:

The Visual SourceSafe 4.0a product handles 2-digit dates entered into the system as follows:

Years 70 – 99 for dates 1/1/70 through 12/31/99 are converted to 1970 – 1999.

Years 00 – 38 for dates 1/1/2000 through 1/18/2038 are not converted.

Values 39 – 69 are undefined within the operational range and are not converted.

 

Recommendations to meet compliance:

Upgrade to Visual Source Safe 5.0, apply the Visual Studio 97 Service Pack 3 and the Visual SourceSafe 5.0 Year 2000 Update. Please contact 1-888-MSFT-Y2K (or your local Microsoft Year 2000 Information line) and provide your Visual Source Safe 4.0 license number to request an upgrade. The Visual Studio 97 Service Pack 3 can be downloaded from http://msdn.microsoft.com/vstudio/sp/vs97/ and the Visual SourceSafe 5.0 Year 2000 Update can be downloaded from http://msdn.microsoft.com/ssafe/downloads/year2000.asp.

 

Recommended practices to develop year 2000 compliant applications:

Both "displaying year portions of dates" and "pulling file or project history by user specified dates" issues do not impact the applications developers build using Visual SourceSafe as their source code control tool. The user can pull file or project history without specifying a date and will have history data before 1/1/2028 returned in the list.

When viewing dates within Visual SourceSafe past the year 2000 rollover, you should be aware of the display problems with the year portion of the dates and map the appropriate 10’s digit with the character displayed as indicated in the issue description.

When pulling file or project history do not specify a date so that the operation will return all versions of the file or project.

When using the command line operations of Visual SourceSafe 4.0a, it is recommended that you do not use the –VD switch to operate on a specific version of a file after 12/31/1999. If possible, use the –V or –VL switch to specify the version or label of a specific version of the file or project you wish to operate on. If you are using the Visual SourceSafe 4.0a command line operations through batch files, we recommend that you remove all instances of the –VD switch from these batch files to ensure you do not corrupt your build, build process or Visual SourceSafe database. In the worst case, you can locate the specific version of a file using the Graphic User Interface (GUI) and searching the entire history through the show history command.

Developers should contact their PC vendor to ensure that the computer's BIOS is year 2000 compliant. This issue does not impact the ability of developers to build year 2000 compliant applications.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual SourceSafe  4.0a   (English)

Product Summary
Product: Visual SourceSafe Version: 4.0a Category:Not Compliant
Language: English OS: 32-Bit Win Release Date: 07 Feb 1996
Operational Range: 01 Jan 1970 - 31 Dec 2027
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: none
Product Dependencies: none
Clock Dependencies: Operating System Clock
Last Updated: 05 Nov 1999
Product Details

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

How the product runtime handles dates:

Visual SourceSafe 4.0a, has known issues with date handling for dates past 12/31/1999. These issues can be summarized as:

  1. Display issues with the year portion of dates
  2. History pull of a file or project filtered by user specified dates may return unintended dates
  3. Behavior issues when using –VD command line switch

Visual SourceSafe 4.0a uses a 32-bit integer to store the number of seconds since 1/1/1970 for date handling. When these dates are displayed, the years since 1900 are stored in a signed char. This is a restrictive structure used by Visual SourceSafe 4.0a in handling date data and is the reason behind the display issues outlined below.

Displaying year portion of dates

Dates from 1/1/2000 to 12/31/2027 display a special character in place of the 10's digit of the year as follows (where X is any digit from 0-9):

Dates like 200X, appear as 20:X

Dates like 201X, appear as 20;X

Dates like 202X, appear as 20<X

For example the date 2003 is displayed as 20:3 and 2015 is displayed as 20;5. The issue described above is a cosmetic display issue and does not impact the storage of files or project data. This data is stored as documented in Books Online for VSS. Dates beyond 12/31/2027 are not legible and character mapping cannot be easily defined.

Pulling file or project history by user specified dates

This issue can be summarized by the following:

  • In the History pre-dialog where one can specify a date range to do a history on ("show the History between 1/1/97 and 2/24/2000), if a date is specified after the year 2000, it will be treated as a date in the 1900s. The same issue exists on the command line.
  • The history pre-dialog in version 4.0a does not accept 4-digit years.

The issues described above are cosmetic display issues and do not impact the storage of files or project data. This data is stored as documented in Books Online for VSS. The history report issue does not have an impact on the applications that developers build using Visual SourceSafe as the source code control tool. Only the ability to view history where a date is specified is affected.

Using –VD command line switch

Visual SourceSafe commands using the -VD switch will execute on the latest version of the specified file when specifying a date past 12/31/1999. This issue impacts the following Visual SourceSafe 4.0a commands:

  • Checkout
  • Comment
  • Diff
  • Dir
  • Findinfiles
  • Get
  • History
  • Label
  • Pin
  • Rollback
  • Share
  • View

Depending on which command is used, this issue can cause data corruption and/or loss since the incorrect file may be used to perform the specified operation.

 

BIOS dependencies in Visual SourceSafe:

Visual SourceSafe uses a "time stamp" to apply a date to files. This time stamp contains date information obtained from the user’s system clock. The time stamp is provided by the machine’s BIOS (Basic Input-Output System), and is not provided by Visual SourceSafe. If the machine uses a year 2000 non-compliant BIOS/RTC that fails to reset the system clock to January 1, 2000 (and if the operating system does not automatically correct the date) new files and new versions will be saved with incorrect time stamps. This could lead to versions of files not appearing in the history dialog. Users should contact their PC vendor to ensure that the computer's BIOS is year 2000 compliant.

Two-digit shortcut handling:

The Visual SourceSafe 4.0a product handles 2-digit dates entered into the system as follows:

Years 70 – 99 for dates 1/1/70 through 12/31/99 are converted to 1970 – 1999.

Years 00 – 38 for dates 1/1/2000 through 1/18/2038 are not converted.

Values 39 – 69 are undefined within the operational range and are not converted.

 

Recommendations to meet compliance:

Upgrade to Visual Source Safe 5.0, apply the Visual Studio 97 Service Pack 3 and the Visual SourceSafe 5.0 Year 2000 Update. Please contact 1-888-MSFT-Y2K (or your local Microsoft Year 2000 Information line) and provide your Visual Source Safe 4.0 license number to request an upgrade. The Visual Studio 97 Service Pack 3 can be downloaded from http://msdn.microsoft.com/vstudio/sp/vs97/ and the Visual SourceSafe 5.0 Year 2000 Update can be downloaded from http://msdn.microsoft.com/ssafe/downloads/year2000.asp.

 

Recommended practices to develop year 2000 compliant applications:

Both "displaying year portions of dates" and "pulling file or project history by user specified dates" issues do not impact the applications developers build using Visual SourceSafe as their source code control tool. The user can pull file or project history without specifying a date and will have history data before 1/1/2028 returned in the list.

When viewing dates within Visual SourceSafe past the year 2000 rollover, you should be aware of the display problems with the year portion of the dates and map the appropriate 10’s digit with the character displayed as indicated in the issue description.

When pulling file or project history do not specify a date so that the operation will return all versions of the file or project.

When using the command line operations of Visual SourceSafe 4.0a, it is recommended that you do not use the –VD switch to operate on a specific version of a file after 12/31/1999. If possible, use the –V or –VL switch to specify the version or label of a specific version of the file or project you wish to operate on. If you are using the Visual SourceSafe 4.0a command line operations through batch files, we recommend that you remove all instances of the –VD switch from these batch files to ensure you do not corrupt your build, build process or Visual SourceSafe database. In the worst case, you can locate the specific version of a file using the Graphic User Interface (GUI) and searching the entire history through the show history command.

Developers should contact their PC vendor to ensure that the computer's BIOS is year 2000 compliant. This issue does not impact the ability of developers to build year 2000 compliant applications.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual SourceSafe  4.0a  (French)

Product Summary
Product: Visual SourceSafe Version: 4.0a Category:Not Compliant
Language: French OS: 16-Bit Win Release Date: 07 Feb 1996
Operational Range: 01 Jan 1970 - 31 Dec 2027
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: none
Product Dependencies: none
Clock Dependencies: Operating System Clock
Last Updated: 05 Nov 1999
Product Details

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

How the product runtime handles dates:

Visual SourceSafe 4.0a, has known issues with date handling for dates past 12/31/1999. These issues can be summarized as:

  1. Display issues with the year portion of dates
  2. History pull of a file or project filtered by user specified dates may return unintended dates
  3. Behavior issues when using –VD command line switch

Visual SourceSafe 4.0a uses a 32-bit integer to store the number of seconds since 1/1/1970 for date handling. When these dates are displayed, the years since 1900 are stored in a signed char. This is a restrictive structure used by Visual SourceSafe 4.0a in handling date data and is the reason behind the display issues outlined below.

Displaying year portion of dates

Dates from 1/1/2000 to 12/31/2027 display a special character in place of the 10's digit of the year as follows (where X is any digit from 0-9):

Dates like 200X, appear as 20:X

Dates like 201X, appear as 20;X

Dates like 202X, appear as 20<X

For example the date 2003 is displayed as 20:3 and 2015 is displayed as 20;5. The issue described above is a cosmetic display issue and does not impact the storage of files or project data. This data is stored as documented in Books Online for VSS. Dates beyond 12/31/2027 are not legible and character mapping cannot be easily defined.

Pulling file or project history by user specified dates

This issue can be summarized by the following:

  • In the History pre-dialog where one can specify a date range to do a history on ("show the History between 1/1/97 and 2/24/2000), if a date is specified after the year 2000, it will be treated as a date in the 1900s. The same issue exists on the command line.
  • The history pre-dialog in version 4.0a does not accept 4-digit years.

The issues described above are cosmetic display issues and do not impact the storage of files or project data. This data is stored as documented in Books Online for VSS. The history report issue does not have an impact on the applications that developers build using Visual SourceSafe as the source code control tool. Only the ability to view history where a date is specified is affected.

Using –VD command line switch

Visual SourceSafe commands using the -VD switch will execute on the latest version of the specified file when specifying a date past 12/31/1999. This issue impacts the following Visual SourceSafe 4.0a commands:

  • Checkout
  • Comment
  • Diff
  • Dir
  • Findinfiles
  • Get
  • History
  • Label
  • Pin
  • Rollback
  • Share
  • View

Depending on which command is used, this issue can cause data corruption and/or loss since the incorrect file may be used to perform the specified operation.

 

BIOS dependencies in Visual SourceSafe:

Visual SourceSafe uses a "time stamp" to apply a date to files. This time stamp contains date information obtained from the user’s system clock. The time stamp is provided by the machine’s BIOS (Basic Input-Output System), and is not provided by Visual SourceSafe. If the machine uses a year 2000 non-compliant BIOS/RTC that fails to reset the system clock to January 1, 2000 (and if the operating system does not automatically correct the date) new files and new versions will be saved with incorrect time stamps. This could lead to versions of files not appearing in the history dialog. Users should contact their PC vendor to ensure that the computer's BIOS is year 2000 compliant.

Two-digit shortcut handling:

The Visual SourceSafe 4.0a product handles 2-digit dates entered into the system as follows:

Years 70 – 99 for dates 1/1/70 through 12/31/99 are converted to 1970 – 1999.

Years 00 – 38 for dates 1/1/2000 through 1/18/2038 are not converted.

Values 39 – 69 are undefined within the operational range and are not converted.

 

Recommendations to meet compliance:

Upgrade to Visual Source Safe 5.0, apply the Visual Studio 97 Service Pack 3 and the Visual SourceSafe 5.0 Year 2000 Update. Please contact 1-888-MSFT-Y2K (or your local Microsoft Year 2000 Information line) and provide your Visual Source Safe 4.0 license number to request an upgrade. The Visual Studio 97 Service Pack 3 can be downloaded from http://msdn.microsoft.com/vstudio/sp/vs97/ and the Visual SourceSafe 5.0 Year 2000 Update can be downloaded from http://msdn.microsoft.com/ssafe/downloads/year2000.asp.

 

Recommended practices to develop year 2000 compliant applications:

Both "displaying year portions of dates" and "pulling file or project history by user specified dates" issues do not impact the applications developers build using Visual SourceSafe as their source code control tool. The user can pull file or project history without specifying a date and will have history data before 1/1/2028 returned in the list.

When viewing dates within Visual SourceSafe past the year 2000 rollover, you should be aware of the display problems with the year portion of the dates and map the appropriate 10’s digit with the character displayed as indicated in the issue description.

When pulling file or project history do not specify a date so that the operation will return all versions of the file or project.

When using the command line operations of Visual SourceSafe 4.0a, it is recommended that you do not use the –VD switch to operate on a specific version of a file after 12/31/1999. If possible, use the –V or –VL switch to specify the version or label of a specific version of the file or project you wish to operate on. If you are using the Visual SourceSafe 4.0a command line operations through batch files, we recommend that you remove all instances of the –VD switch from these batch files to ensure you do not corrupt your build, build process or Visual SourceSafe database. In the worst case, you can locate the specific version of a file using the Graphic User Interface (GUI) and searching the entire history through the show history command.

Developers should contact their PC vendor to ensure that the computer's BIOS is year 2000 compliant. This issue does not impact the ability of developers to build year 2000 compliant applications.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Visual SourceSafe  4.0a   (French)

Product Summary
Product: Visual SourceSafe Version: 4.0a Category:Not Compliant
Language: French OS: 32-Bit Win Release Date: 07 Feb 1996
Operational Range: 01 Jan 1970 - 31 Dec 2027
Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement? Yes
Prerequisites: none
Product Dependencies: none
Clock Dependencies: Operating System Clock
Last Updated: 05 Nov 1999
Product Details

Can applications be built with this tool that adhere to the Microsoft Year 2000 Compliance Statement?

Yes.

How the product runtime handles dates:

Visual SourceSafe 4.0a, has known issues with date handling for dates past 12/31/1999. These issues can be summarized as:

  1. Display issues with the year portion of dates
  2. History pull of a file or project filtered by user specified dates may return unintended dates
  3. Behavior issues when using –VD command line switch

Visual SourceSafe 4.0a uses a 32-bit integer to store the number of seconds since 1/1/1970 for date handling. When these dates are displayed, the years since 1900 are stored in a signed char. This is a restrictive structure used by Visual SourceSafe 4.0a in handling date data and is the reason behind the display issues outlined below.

Displaying year portion of dates

Dates from 1/1/2000 to 12/31/2027 display a special character in place of the 10's digit of the year as follows (where X is any digit from 0-9):

Dates like 200X, appear as 20:X

Dates like 201X, appear as 20;X

Dates like 202X, appear as 20<X

For example the date 2003 is displayed as 20:3 and 2015 is displayed as 20;5. The issue described above is a cosmetic display issue and does not impact the storage of files or project data. This data is stored as documented in Books Online for VSS. Dates beyond 12/31/2027 are not legible and character mapping cannot be easily defined.

Pulling file or project history by user specified dates

This issue can be summarized by the following:

  • In the History pre-dialog where one can specify a date range to do a history on ("show the History between 1/1/97 and 2/24/2000), if a date is specified after the year 2000, it will be treated as a date in the 1900s. The same issue exists on the command line.
  • The history pre-dialog in version 4.0a does not accept 4-digit years.

The issues described above are cosmetic display issues and do not impact the storage of files or project data. This data is stored as documented in Books Online for VSS. The history report issue does not have an impact on the applications that developers build using Visual SourceSafe as the source code control tool. Only the ability to view history where a date is specified is affected.

Using –VD command line switch

Visual SourceSafe commands using the -VD switch will execute on the latest version of the specified file when specifying a date past 12/31/1999. This issue impacts the following Visual SourceSafe 4.0a commands:

  • Checkout
  • Comment
  • Diff
  • Dir
  • Findinfiles
  • Get
  • History
  • Label
  • Pin
  • Rollback
  • Share
  • View

Depending on which command is used, this issue can cause data corruption and/or loss since the incorrect file may be used to perform the specified operation.

 

BIOS dependencies in Visual SourceSafe:

Visual SourceSafe uses a "time stamp" to apply a date to files. This time stamp contains date information obtained from the user’s system clock. The time stamp is provided by the machine’s BIOS (Basic Input-Output System), and is not provided by Visual SourceSafe. If the machine uses a year 2000 non-compliant BIOS/RTC that fails to reset the system clock to January 1, 2000 (and if the operating system does not automatically correct the date) new files and new versions will be saved with incorrect time stamps. This could lead to versions of files not appearing in the history dialog. Users should contact their PC vendor to ensure that the computer's BIOS is year 2000 compliant.

Two-digit shortcut handling:

The Visual SourceSafe 4.0a product handles 2-digit dates entered into the system as follows:

Years 70 – 99 for dates 1/1/70 through 12/31/99 are converted to 1970 – 1999.

Years 00 – 38 for dates 1/1/2000 through 1/18/2038 are not converted.

Values 39 – 69 are undefined within the operational range and are not converted.

 

Recommendations to meet compliance:

Upgrade to Visual Source Safe 5.0, apply the Visual Studio 97 Service Pack 3 and the Visual SourceSafe 5.0 Year 2000 Update. Please contact 1-888-MSFT-Y2K (or your local Microsoft Year 2000 Information line) and provide your Visual Source Safe 4.0 license number to request an upgrade. The Visual Studio 97 Service Pack 3 can be downloaded from http://msdn.microsoft.com/vstudio/sp/vs97/ and the Visual SourceSafe 5.0 Year 2000 Update can be downloaded from http://msdn.microsoft.com/ssafe/downloads/year2000.asp.

 

Recommended practices to develop year 2000 compliant applications:

Both "displaying year portions of dates" and "pulling file or project history by user specified dates" issues do not impact the applications developers build using Visual SourceSafe as their source code control tool. The user can pull file or project history without specifying a date and will have history data before 1/1/2028 returned in the list.

When viewing dates within Visual SourceSafe past the year 2000 rollover, you should be aware of the display problems with the year portion of the dates and map the appropriate 10’s digit with the character displayed as indicated in the issue description.

When pulling file or project history do not specify a date so that the operation will return all versions of the file or project.

When using the command line operations of Visual SourceSafe 4.0a, it is recommended that you do not use the –VD switch to operate on a specific version of a file after 12/31/1999. If possible, use the –V or –VL switch to specify the version or label of a specific version of the file or project you wish to operate on. If you are using the Visual SourceSafe 4.0a command line operations through batch files, we recommend that you remove all instances of the –VD switch from these batch files to ensure you do not corrupt your build, build process or Visual SourceSafe database. In the worst case, you can locate the specific version of a file using the Graphic User Interface (GUI) and searching the entire history through the show history command.

Developers should contact their PC vendor to ensure that the computer's BIOS is year 2000 compliant. This issue does not impact the ability of developers to build year 2000 compliant applications.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Itemized List of products in each Volume

YEAR 2000 READINESS DISCLOSURE

ALL COMMUNICATIONS OR CONVEYANCES OF INFORMATION TO YOU CONCERNING MICROSOFT AND THE YEAR 2000, INCLUDING BUT NOT LIMITED TO THIS DOCUMENT OR ANY OTHER PAST, PRESENT OR FUTURE INFORMATION REGARDING YEAR 2000 TESTING, ASSESSMENTS, READINESS, TIME TABLES, OBJECTIVES, OR OTHER (COLLECTIVELY THE "MICROSOFT YEAR 2000 STATEMENT"), ARE PROVIDED AS A "YEAR 2000 READINESS DISCLOSURE" (AS DEFINED BY THE YEAR 2000 INFORMATION AND READINESS DISCLOSURE ACT) AND CAN BE FOUND AT MICROSOFT'S YEAR 2000 WEBSITE LOCATED AT http://microsoft.com/year2000/ (the "Y2K WEBSITE"). EACH MICROSOFT YEAR 2000 STATEMENT IS PROVIDED PURSUANT TO THE TERMS HEREOF, THE TERMS OF THE Y2K WEBSITE, AND THE YEAR 2000 INFORMATION AND READINESS DISCLOSURE ACT FOR THE SOLE PURPOSE OF ASSISTING THE PLANNING FOR THE TRANSITION TO THE YEAR 2000. EACH MICROSOFT YEAR 2000 STATEMENT CONTAINS INFORMATION CURRENTLY AVAILABLE AND IS UPDATED REGULARLY AND SUBJECT TO CHANGE. MICROSOFT THEREFORE RECOMMENDS THAT YOU CHECK THE Y2K WEBSITE REGULARLY FOR ANY CHANGES TO ANY MICROSOFT YEAR 2000 STATEMENT. EACH MICROSOFT YEAR 2000 STATEMENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. CONSEQUENTLY, MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. MOREOVER, MICROSOFT DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OR THE RESULTS OF THE USE OF ANY MICROSOFT YEAR 2000 STATEMENT IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY, OR OTHERWISE. NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY MICROSOFT OR ITS AUTHORIZED REPRESENTATIVES SHALL CREATE A WARRANTY OR IN ANY WAY DECREASE THE SCOPE OF THIS WARRANTY DISCLAIMER. IN NO EVENT SHALL MICROSOFT OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER REGARDING ANY MICROSOFT YEAR 2000 STATEMENT INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS, PUNITIVE OR SPECIAL DAMAGES, EVEN IF MICROSOFT OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, SO THE FOREGOING LIMITATION MAY NOT APPLY TO YOU. THE INFORMATION CONTAINED IN EACH MICROSOFT YEAR 2000 STATEMENT IS FOUND AT THE Y2K WEBSITE AND IS INTENDED TO BE READ IN CONJUNCTION WITH OTHER INFORMATION LOCATED AT THE Y2K WEBSITE, INCLUDING BUT NOT LIMITED TO MICROSOFT'S YEAR 2000 COMPLIANCE STATEMENT, THE DESCRIPTION OF THE CATEGORIES OF COMPLIANCE INTO WHICH MICROSOFT HAS CLASSIFIED ITS PRODUCTS IN ITS YEAR 2000 PRODUCT GUIDE, AND THE MICROSOFT YEAR 2000 TEST CRITERIA.

ANY MICROSOFT YEAR 2000 STATEMENTS MADE TO YOU IN THE COURSE OF PROVIDING YEAR 2000 RELATED UPDATES, YEAR 2000 DIAGNOSTIC TOOLS, OR REMEDIATION SERVICES (IF ANY) ARE SUBJECT TO THE YEAR 2000 INFORMATION AND READINESS DISCLOSURE ACT (112 STAT. 2386). IN CASE OF A DISPUTE, THIS ACT MAY REDUCE YOUR LEGAL RIGHTS REGARDING THE USE OF ANY SUCH STATEMENTS, UNLESS OTHERWISE SPECIFIED BY YOUR CONTRACT OR TARIFF.

Wednesday, November 17, 1999
© 1999 Microsoft Corporation. All rights reserved. Terms of use.

This site is being designated as a Year 2000 Readiness Disclosure and the information contained herein is provided pursuant to the terms hereof and the Year 2000 Information and Readiness Disclosure Act.