本ページは公開が終了した情報の複製であり、掲載時点での情報です。本ページに記載されている内容について各所に問い合わせることはご遠慮下さい。


マイクロソフト西暦 2000 年対応情報開示リソース センター ホーム

よく寄せられる質問

製品ガイド
(日本語)


西暦 2000 年問題に対するマイクロソフトの考え方

技術文書(ホワイト ペーパー)

そのほかの情報
マイクロソフト西暦 2000 年対応情報開示リソース センター


Visual Basic (32-bit) 6.0  (Japanese)

 
製品の概要
製品名: Visual Basic (32 ビット)
バージョン: 6.0
カテゴリ: 対応*
オペレーティング システム: 32 ビット版 Win
言語: 日本語版 発売日: 1998 年 9 月 1 日
対応期間: -
必要なソフトウェア: 下記を参照
依存する製品: Windows NT 4.0 Service Pack 4、Windows 95 (および西暦 2000 年問題対応アップデート)、Windows 98 (および西暦 2000 年問題対応アップデート)、SQL Server 6.5 Service Pack 5、MDAC 2 Service Pack 2 以降、Visual Database Tools 6.0
依存するクロック: システム クロック、Visual Basic ランタイム、(OLE) オートメーション ライブラリ
最終更新日: 1999 年 11 月 22 日
製品の詳細

この資料は以下のエディションについて説明したものです。

Introductory、Enterprise、Learning、Standard、Professional Editions

データの対応期間

下 2 桁の西暦を使用する場合の既定値は 1930 〜 2029 です。(詳細は後述)

日付の処理

Visual Basic 6.0 内部では、日付は 4 桁の西暦で保存されます。

下 2 桁の西暦の処理

Visual Basic 6.0 における日付処理は、OLE オートメーションにより行われます。1998 年秋に出荷された Visual Studio 6.0 ファミリ製品に付属するオートメーション ライブラリはバージョン 2.30 であり、下 2 桁の西暦を解析する 100 年の範囲をユーザーやシステム管理者が設定することができます。デフォルトの設定は、上記の 1930 年〜 2029 年です。詳細は、OLE オートメーションテクノロジ製品ガイド を参照してください。

Outlook Express 4.01 の問題

Visual Basic 6.0 には Outlook Express 4.01 SP1 が含まれていますが、この製品には既知の問題があり、アップデートモジュールが公開されています。詳細は、Outlook Express 4.01 - 32ビット Win 製品ガイドを参照してください。

西暦 2000 年に対応したアプリケーションを開発するための望ましい方法

この製品には、日付を文字列として保存すると問題が生じることがあります。日付の保存には、文字列ではなく、DATE データ型を使用することをお勧めします。

ユーザー定義関数は、日付処理に関するエラーの最大要因です。関数が正しく定義されていないと、問題が生じることがあります。

日付を文字列で保存した場合、情報に誤りがあると問題を引き起こします。「年/月/日」の順番を変更しても有効な日付形式になる場合は、Visual Basic が文字列を日付として解釈します。

たとえば、「年/月/日」の順番を変更しても、3/30/98 (1998 年 3 月 30 日) と 87/3/1 (87 年 3 月 1 日) は日付として有効と見なされます。日付変換エラーの可能性がある場合の詳細な情報については、OLE オートメーションテクノロジ製品ガイド を参照してください。

より詳細な情報については、ホワイト ペーパー "Microsoft Visual Basic での西暦 2000 年対応アプリケーションの開発" および "Visual Basic アプリケーションの 2000 年への対応" を参照してください。

プログラム開発における一般的な西暦2000年問題について

ホワイト ペーパー "Microsoft Visual Basic での西暦 2000 年対応アプリケーションの開発" および "Visual Basic アプリケーションの 2000 年への対応" を参照してください。

このツールを使用したプログラム開発におけるその他の問

次に示す製品やテクノロジがインストールされている場合は、アップデートを行い正しく動作することを確認してください。

製品名

Internet Explorer 4.01 Service Pack 1

OLE DB, ODBC, ADO を含む MDAC 2.0 Service Pack 2 以降

Microsoft SQL Server 6.5

Windows NT 4.0

Oracle 利用時の注意

Oracle と Visual Studio Query Designer では、下 2 桁の西暦の解釈の方法が異なります。

Visual Studio 6.0 Query Designer と Oracle データベースを使用する場合は、[コントロール パネル] の [地域] の設定で、YYYY/MM/DD などの 4 桁の西暦形式に設定しておくことを強くお勧めします。これにより、間違った検索結果や、予想外の検索結果によるデータの損失を防ぐことができます。Query Designer の [グリッド] ペインに日付が入力されると、[地域] の設定に従ってフォーマットされます。再フォーマットされた日付は Oracle データベースに渡され、そのサーバーの設定に応じて日付の文字列が処理されます。[グリッド] ペインの [基準] セルに入力された西暦が 2000 年から 2029 年 (西暦 2000 年以降の日付のデフォルト対応期間) の場合は、その日付が SQL ペインに解析されて表示されるとき、OLEAUT32 によって下 2 桁の値に変換されます。Oracle データベースでは、この日付を 1900 年から 1929 年の範囲の西暦として処理します。

例 :ユーザーが、"2001/1/1" という日付を [グリッド] ペインの [基準] セルに入力したとします。下 2 桁の西暦表示に設定されている場合、この日付は "01/1/1" に再フォーマットされます。Oracle は、この文字列を受け取ると、この日付 "01/1/1" を "1901/1/1" と解釈します。UPDATE クエリーまたは DELETE クエリーの基準として日付が使用されていると、データの損失が発生する可能性があります。

この問題は、Visual Studio 6.0 Service Pack 3 の適用により Query Designer をアップデートすることで対応できます。

テスト時のガイドラインと推奨事項

ユーザー定義関数 : 多くのアプリケーションで、日付をさまざまな方法で操作するために Visual Basic で記述されたユーザー定義関数が使われています。これらの関数の多くは、日付値を文字列で保存しています。これらの値の操作が不適切であると、マイクロソフトが実施した 2000 年問題対応テストの範囲を超える日付処理上の問題が発生することがあります。

日付の不正入力を捕捉するエラー処理ルーチンがあると、上記の日付使用のエラーが問題を引き起こすことがあります。文字列形式の日付が入力されても Visual Basic はめったにエラーを生成しないので、エラー処理ルーチンが呼び出されることはほとんどありません。このような場合は、不正な日付であることを通知するランタイム エラーに頼るのではなく、コードを使用して、データを検証するためのプログラミングが必要になります。

コード例

次のコードは、各種の入力日付を表示する日付ウィンドウの例です。

Sub TestDate()
Dim MyDate As Date
MyDate = "1/1/00"
Format MyDate, "mm/dd/yyyy"
MsgBox MyDate
End Sub

MyDate の入力値

期待される表示内容

00/1/1 2000/1/1
1/1/1 2001/1/1
9/1/1 2009/1/1
2000/1/1 2000/1/1
98/4/1 1998/4/1
29/10/24 2029/10/24
30/7/4 1930/7/4
00/2/29 2000/2/29
1900/2/29 エラー 型の不一致 (1900 はうるう年ではない)

より詳細な情報については、ホワイト ペーパー "Microsoft Visual Basic での西暦 2000 年対応アプリケーションの開発" および "Visual Basic アプリケーションの 2000 年への対応" を参照してください。

 

製品ガイドに戻る

 

カテゴリの記号について:
* ユーザーが必要な操作を行うことで対応できる製品。
修正プログラムのロードや文書の参照など、指示された操作を行う必要があります。

# マイクロソフトの対応基準に対して許容範囲の差異がある製品。
製品の主要な機能 (データ保全性など) や安定性 (信頼性など) に影響を与えない程度に限られます。

+ 頒布予定の修正プログラムで対応できる製品。
修正プログラムが公開された時点で、できるだけ早期の対応が必要です。

注意:上記の対応状況分類では、必要な対応操作が行われることを前提としています。


  2000年対応状況の開示

マイクロソフトおよび西暦 2000 年問題に関する情報(本書記載の情報の他、西暦 2000 年テスト、評価、対応情況、対応スケジュール、目標、その他に関する、過去、現在および将来の全ての情報を含みますが、これらに限られません。 以下、これらを総称して「マイクロソフト西暦 2000 年ステートメント」といいます。)の送信または伝達は全て、ここに米国の「西暦 2000 年問題に関する情報および対応開示に関する法律」に定義されているところの「西暦 2000 年対応情報開示」として提供されます。 また、かかる情報は、http://www.asia.microsoft.com/japan/year2k/ のマイクロソフトの西暦 2000 年Webサイト(以下「Y2K Webサイト」といいます。)にて参照可能です。 「マイクロソフト西暦 2000 年ステートメント」は、それぞれ、この使用条件、Y2K Webサイト記載の条件並びに「西暦 2000 年問題に関する情報および対応開示に関する法律」の条項に従い、お客様の西暦 2000 年問題に対応するための技術計画を支援させていただく目的でのみ提供されています。 各「マイクロソフト西暦 2000 年ステートメント」には、入手可能な最新情報が含まれますが、それらは逐次更新されます。 従って、マイクロソフトは、お客様が定期的に、Y2K Webサイトを確認して、「マイクロソフト西暦 2000 年ステートメント」の変更を確認されることをお勧めします。 「マイクロソフト西暦 2000 年ステートメント」は、全て、“現状ベース”で提供されるものであり、いかなる保証も伴うものではありません。 従って、マイクロソフトは、商品性の保証および特定目的への適合性を含めて、明示的にも黙示的にもいかなる保証もいたしません。 さらに、マイクロソフトは、いかなる「マイクロソフト西暦 2000 年ステートメント」の使用またはその使用結果についても、その正確性、真実性、信頼性等、いかなる保証もしくは表明も行いません。 マイクロソフトまたはその権限ある代理人による、口頭もしくは書面による一切の情報もしくはアドバイスは、何らの保証を意味するものでもなく、かつ上記の保証の拒絶の範囲を狭めるものではありません。 マイクロソフトおよびその供給者は、いかなる場合においても、「マイクロソフト西暦 2000 年ステートメント」に関連して生じた、直接損害、間接損害、偶発損害、派生損害、事業利益の逸失、懲罰的損害、または特別損害を含むすべての損害について、たとえかかる損害の発生の可能性を知らされていた場合であっても、一切責任を負いません。 派生損害または偶発損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。 各「マイクロソフト西暦 2000 年ステートメント」に含まれる情報は、Y2K Webサイトで参照可能であり、マイクロソフト西暦 2000 年対応状況(YEAR 2000 COMPLIANCE STATEMENT)、マイクロソフトが、その西暦 2000 年製品ガイドにおいて、製品の分類に使用している対応基準に関する説明(DESCRIPTION OF THE CATEGORIES OF COMPLIANCE)およびテスト基準(THE MICROSOFT YEAR 2000 TEST CRITERIA)等、と併せてお読みいただくことを意図して提供されているものです。

マイクロソフトが、西暦 2000 年問題関連の修正版、西暦 2000 年診断ツールまたは修正サービスの提供において、お客様に提供することのある、すべての「マイクロソフト西暦 2000 年ステートメント」は、米国の「西暦 2000 年問題に関する情報及び対応開示に関する法律(112 STAT.2386)」の適用を条件として提供されるものです。 何らかの争いが生じた場合には、かかるステートメントの使用に関するお客様の権利は、お客様との契約書または料金表において、別段の合意がなされていない限り、この法律により制限されます。


  最終更新日 1999 年 7 月 10 日
  ©1999 Microsoft Corporation. All rights reserved. Terms of Use.
本サイトは西暦 2000 年 対応開示 (Year2000 Readiness Disclosure) に該当するものであり、本サイトに含まれている情報は本サイトに記載されている条件および西暦 2000 年問題に関する情報及び対応開示に関する米国の法律 (Year2000 Informationand Readiness Disclosure Act) に基づき提供されるものです。

inserted by FC2 system