Office 2003 Service Pack 3 のインストール後に Access 2003 でコンボ ボックス コントロールおよびリスト ボックス コントロールに値が表示されないか正しくない値が表示される

文書翻訳 文書翻訳
文書番号: 945280 - 対象製品
すべて展開する | すべて折りたたむ

目次

現象

次のような状況を考えます。
  • 以下のプログラムがインストールされています。
    • Microsoft Office Access 2003
    • Microsoft Office 2003 Service Pack 3 (SP3)
  • フォームまたはレポートにコンボ ボックス コントロールまたはリスト ボックス コントロールを追加します。
  • そのコントロールの "値集合ソース" プロパティに SQL ステートメントを設定します。
この状況で、次のいずれかの現象が発生します。

現象 1

コントロールに値が表示されません。期待される動作は、SQL ステートメントから返されるフィールドの値が表示されることです。

現象 2

コントロールには、Yes 値に対して -1、No 値に対して 0 が表示されます。期待される動作は、Yes 値に対して Yes、No 値に対して No が表示されることです。

これらの現象は、Office 2003 SP3 で更新された Access 2003 より前のバージョンの Access 2003 では発生しません。

原因

原因 1

この問題は、次のいずれかの条件に該当する場合に発生します。
  • SQL ステートメントで返されるフィールドのデータ型がテキスト型であり、このフィールドの表示書式が既に設定されている。
  • SQL ステートメントにより、Excel ワークシートにリンクしているテーブルの値を含むフィールドが返される。さらに、これらの値が格納されている Excel ワークシート内のセルに、[文字列] のプロパティが設定されている。
この問題を回避するには、「回避策 1」を参照してください。

原因 2

この問題は、SQL ステートメントによってデータ型が Yes/No 型 (Bit 型) のフィールドが返される場合に発生します。この問題を回避するには、「回避策 2」を参照してください。

回避策

回避策 1

この問題を回避するには、問題の原因に応じて、次のいずれかの方法を使用します。

方法 1

このフィールドに設定した表示書式を削除します。これを行うには、次の手順を実行します。

: 「原因 1」の最初の条件に該当する場合に、この方法を使用してください。
  1. このフィールドを含むテーブルをデザイン ビューで開きます。
  2. このフィールドに移動し、[標準] タブをクリックします。
  3. [標準] タブの [書式] ボックスで、設定されている書式を削除します。
  4. [ファイル] メニューの [上書き保存] をクリックします。
  5. [ファイル] メニューの [閉じる] をクリックします。

方法 2

"値集合ソース" プロパティのフィールドに "" を追加するように SQL ステートメントを更新します。これを行うには、次の手順を実行します。

: 「原因 1」の 2 番目の条件に該当する場合に、この方法を使用してください。

たとえば、次の SQL ステートメントがもともと設定されているとします。
SELECT FieldName FROM LinkedSpreadsheetName
この SQL ステートメントを次のように更新します。
SELECT FieldName & "" FROM LinkedSpreadsheetName
: [文字列] のプロパティが設定されている列を Excel ワークシートからインポートすると、Access 2003 では、対応するフィールドに表示書式としてアット マーク (@) が自動的に設定されます。

回避策 2

この問題を回避するには、以下の手順を実行します。
  1. "値集合ソース" プロパティに対して適切な値が返されるように、SQL ステートメントを更新します。以下に例を示します。
    • 次の SQL ステートメントでは、Yes 値に対しては Yes を、No 値に対しては No を表示するように、コントロールが設定されます。
      SELECT TableName.YesNoFieldName, IIf([YesNoFieldName]=-1,"Yes","No") AS YN_Value FROM TableName
    • 次の SQL ステートメントでは、Yes 値に対しては True を、No 値に対しては False を表示するように、コントロールが設定されます。
      SELECT TableName.YesNoFieldName, IIf([YesNoFieldName]=-1,"True","False") AS YN_Value FROM TableName
    • 次の SQL ステートメントでは、Yes 値に対しては On を、No 値に対しては Off を表示するように、コントロールが設定されます。
      SELECT TableName.YesNoFieldName, IIf([YesNoFieldName]=-1,"On","Off") AS YN_Value FROM TableName
  2. コントロールによって正しい値が表示されることを確認します。これを行うには、次の表に記載されているように、他のプロパティに適切な値を設定します。
元に戻す全体を表示する
プロパティ
連結列 1
列数 2
列幅 0cm; 1.27cm

解決方法

この問題を解決するには、Access 2003 Service Pack 3 以降の修正プログラム パッケージ (2007 年 12 月 18 日) を入手します。 詳細を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
945674 Access 2003 Service Pack 3 以降の修正プログラム パッケージ (2007 年 12 月 18 日) について

状況

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

プロパティ

文書番号: 945280 - 最終更新日: 2008年2月12日 - リビジョン: 2.1
この資料は以下の製品について記述したものです。
  • Microsoft Office 2003 Service Pack 3?を以下の環境でお使いの場合
    • Microsoft Office Access 2003
キーワード:?
kbexpertiseadvanced kbtshoot kbprb KB945280
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com