この資料は、Access のテーブルにパスとファイル名のみを保存して、フォームにビットマップ イメージを表示する方法について説明したものです。
Access のテーブルにイメージ データを保存することが現実的に難しい場合があります。それは、イメージの数が多い場合、またはイメージ ファイルが大きい場合には、Access データベース ファイルのサイズが急激に増加してしまうからです。
Access のテーブルにイメージ データを保存しないで、Access フォームに Windows ビットマップ イメージを表示する方法を説明します。
Access 97 および Access 95 の場合
-
サンプル データベース Northwind.mdb を開きます。
-
ImageTable という名前で新規テーブルを作成し、ImagePath というテキスト フィールドを追加します。
-
ImageTable テーブルをデータシート ビューで開き、各レコードのビットマップ ファイルのパスと名前を追加します。レコードは、次のようになります。
c:\windows\トライアングル.bmp
c:\windows\ブルー ウェーブ.bmp
c:\windows\レッド タイル.bmp
c:\windows\しゃぼん玉.bmp
-
オートフォーム : 単票形式ウィザードを使用して、ImageTable テーブルに基づく新規フォームを作成します。
-
Imageform フォームをデザイン ビューで開き、ツール ボックスのイメージ ツールを使用して、フォームにイメージ コントロールを追加します。このとき、挿入するイメージを選択するよう求められます。使用しているコンピュータで使用できる任意のイメージを選択してください。追加したコントロールに ImageFrame という名前を付けます。
-
Imageform フォームの レコード移動時 プロパティに、次のイベント プロシージャを設定します。
Private Sub Form_Current()
On Error Resume Next
Me![ImageFrame].Picture = Me![ImagePath]
End Sub
-
ImagePath テキスト ボックスの 更新後処理 プロパティに、次のイベント プロシージャを設定します。
Private Sub Form_AfterUpdate()
On Error Resume Next
Me![ImageFrame].Picture = Me![ImagePath]
End Sub
-
Imageform フォームをフォーム ビューで開きます。
フォームに、各レコードに対応するビットマップが表示されることに注意してください。
Access 2.0 の場合
注意 : Visual Basic for Applications (以下 VBA) は、Access 2.0 では Access Basic と呼ばれています。Access Basic の詳細については、『Building Applications』 マニュアルを参照してください。
-
サンプル データベース NWIND.MDB を開きます。
-
ImageTable という名前で新規テーブルを作成し、ImagePath というテキスト フィールドを追加します。
-
ImageTable テーブルをデータシート ビューで開き、各レコードのビットマップ ファイルのパスと名前を追加します。レコードは、次のようになります。
c:\windows\花見.bmp
c:\windows\雲.bmp
c:\windows\砂漠.bmp
c:\windows\森.bmp
-
オートフォーム ウィザードで、ImageTable テーブルに基づく新規フォームを作成します。作成したフォームに Imageform という名前を付けます。
-
Imageform フォームをデザイン ビューで開き、ツール ボックスの非連結オブジェクト フレーム ツールを使用して非連結オブジェクト フレームを追加します。追加したコントロールに ImageFrame という名前を付けます。
-
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
-
ImagePath テキスト ボックスの 更新後処理 プロパティに、次のイベント プロシージャを設定します。
Sub ImagePath_AfterUpdate ()
On Error Resume Next
Me![ImageFrame].OLETypeAllowed = 1
Me![ImageFrame].SourceDoc = Me![ImagePath]
Me![ImageFrame].Action = 0
End Sub
-
非連結オブジェクト フレーム ImageFrame に、以下のプロパティを設定します。
使用可能 : はい
編集ロック : いいえ
-
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
(http://support.microsoft.com/kb/148463/EN-US/
)
(最終更新日 2000-11-17) をもとに作成したものです。
文書番号: 148463 - 最終更新日: 2004年1月23日 - リビジョン: 3.0
この資料は以下の製品について記述したものです。
- Microsoft Access 2.0 Standard Edition
- Microsoft Access 95 Standard Edition
- Microsoft Access 97 Standard Edition
| kbhowto kbinterop kbofficeprog vba イメージ KB148463 |
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"
サポート期間が終了した「サポート技術情報」資料に関する免責事項この資料は、マイクロソフトでサポートされていない製品について記述したものです。そのため、この資料は現状ベースで提供されており、今後更新されることはありません。