現在オフラインです。再接続するためにインターネットの接続を待っています

[ACC97] イメージをテーブルに保存せずフォームに表示する方法

この記事は、以前は次の ID で公開されていました: JP148463
サポート期間が終了した「サポート技術情報」資料に関する免責事項
この資料は、マイクロソフトでサポートされていない製品について記述したものです。そのため、この資料は現状ベースで提供されており、今後更新されることはありません。
概要
この資料は、Access のテーブルにパスとファイル名のみを保存して、フォームにビットマップ イメージを表示する方法について説明したものです。

詳細
Access のテーブルにイメージ データを保存することが現実的に難しい場合があります。それは、イメージの数が多い場合、またはイメージ ファイルが大きい場合には、Access データベース ファイルのサイズが急激に増加してしまうからです。

Access のテーブルにイメージ データを保存しないで、Access フォームに Windows ビットマップ イメージを表示する方法を説明します。

Access 97 および Access 95 の場合

  1. サンプル データベース Northwind.mdb を開きます。
  2. ImageTable という名前で新規テーブルを作成し、ImagePath というテキスト フィールドを追加します。
  3. ImageTable テーブルをデータシート ビューで開き、各レコードのビットマップ ファイルのパスと名前を追加します。レコードは、次のようになります。
          c:\windows\トライアングル.bmp      c:\windows\ブルー ウェーブ.bmp      c:\windows\レッド タイル.bmp      c:\windows\しゃぼん玉.bmp
  4. オートフォーム : 単票形式ウィザードを使用して、ImageTable テーブルに基づく新規フォームを作成します。
  5. Imageform フォームをデザイン ビューで開き、ツール ボックスのイメージ ツールを使用して、フォームにイメージ コントロールを追加します。このとき、挿入するイメージを選択するよう求められます。使用しているコンピュータで使用できる任意のイメージを選択してください。追加したコントロールに ImageFrame という名前を付けます。
  6. Imageform フォームの レコード移動時 プロパティに、次のイベント プロシージャを設定します。
          Private Sub Form_Current()         On Error Resume Next         Me![ImageFrame].Picture = Me![ImagePath]      End Sub
  7. ImagePath テキスト ボックスの 更新後処理 プロパティに、次のイベント プロシージャを設定します。
          Private Sub Form_AfterUpdate()         On Error Resume Next         Me![ImageFrame].Picture = Me![ImagePath]      End Sub
  8. Imageform フォームをフォーム ビューで開きます。
    フォームに、各レコードに対応するビットマップが表示されることに注意してください。

Access 2.0 の場合

注意 : Visual Basic for Applications (以下 VBA) は、Access 2.0 では Access Basic と呼ばれています。Access Basic の詳細については、『Building Applications』 マニュアルを参照してください。

  1. サンプル データベース NWIND.MDB を開きます。
  2. ImageTable という名前で新規テーブルを作成し、ImagePath というテキスト フィールドを追加します。
  3. ImageTable テーブルをデータシート ビューで開き、各レコードのビットマップ ファイルのパスと名前を追加します。レコードは、次のようになります。
          c:\windows\花見.bmp      c:\windows\雲.bmp      c:\windows\砂漠.bmp      c:\windows\森.bmp
  4. オートフォーム ウィザードで、ImageTable テーブルに基づく新規フォームを作成します。作成したフォームに Imageform という名前を付けます。
  5. Imageform フォームをデザイン ビューで開き、ツール ボックスの非連結オブジェクト フレーム ツールを使用して非連結オブジェクト フレームを追加します。追加したコントロールに ImageFrame という名前を付けます。
  6. Imageform フォームの レコード移動時 プロパティに、次のイベント プロシージャを設定します。
          Private Sub Form_Current()         On Error Resume Next         If Not IsNull(Me![ImagePath]) Then         Me![ImageFrame].OLETypeAllowed = 1         Me![ImageFrame].SourceDoc = Me![ImagePath]         Me![ImageFrame].Action = 0         End If      End Sub
  7. ImagePath テキスト ボックスの 更新後処理 プロパティに、次のイベント プロシージャを設定します。
          Sub ImagePath_AfterUpdate ()         On Error Resume Next         Me![ImageFrame].OLETypeAllowed = 1         Me![ImageFrame].SourceDoc = Me![ImagePath]         Me![ImageFrame].Action = 0      End Sub
  8. 非連結オブジェクト フレーム ImageFrame に、以下のプロパティを設定します。
    使用可能 : はい
    編集ロック : いいえ
  9. Imageform フォームをフォーム ビューで開きます。
    フォームに、各レコードに対応するビットマップが表示されることに注意してください。
注意 : Access 97 および Access 95 では、ImageTable テーブルに無効なパスまたはファイル名を追加すると、フォームにイメージが表示されません。ただし、有効なパスおよびファイル名が入力されたかどうかを確認するための、エラー トラッピングを実装することができます。
Access 2.0 では、エラーは無視され、そのフォームで最後に表示されたビットマップが表示されます。
関連情報
"OleTypeAllowed/作成可能OLE" プロパティの詳細については、ヘルプ索引で OleTypeAllowed を検索し、次に OleTypeAllowed プロパティ を検索するか、または Access 97 の Office アシスタントに質問してください。

"SourceDoc/OLE元ファイル名" プロパティの詳細については、ヘルプ索引で "SourceDoc" を検索し、次に "SourceDoc プロパティ" を検索するか、または Access 97 の Office アシスタントに質問してください。

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 148463 (最終更新日 2000-11-17) をもとに作成したものです。

プロパティ

文書番号:148463 - 最終更新日: 01/23/2004 16:25:45 - リビジョン: 3.0

  • Microsoft Access 2.0 Standard Edition
  • Microsoft Access 95 Standard Edition
  • Microsoft Access 97 Standard Edition
  • kbhowto kbinterop kbofficeprog vba イメージ KB148463
フィードバック