| Access Tips by pPoy |
| Form | 画像をテーブルに保存せず直接ファイルから表示する方法 +画像をクリックして拡大表示する方法 《ハイパーリンク》 (Ac97,Ac2000,Ac2002) |
Access mdb 外に保存された画像ファイルを (ファイル名のみテキスト型フィールドに保存済みの物) 、 コードで呼び出してフォームに表示し、且つその画像をクリックしたときに拡大表示する方法です。 拡大表示は、画像の拡張子に関連付けられたアプリケーションを起動して行います。 画像ファイルの格納されているフォルダは、mdb ファイルと同一とします。 テーブル構成やフォームの細かい設定方法は、こちら を参照してください。 「準備1」〜「準備3」 までを設定後、「準備4」 の VBA 部分を以下のように入力します。 |
|
|---|---|---|---|
|
≪準備4≫ イメージコントロールに画像を表示する為に、「フォーム」 の 「レコード移動時」 イベントに以下のコードを記述します。 ※注意※ Access 97 の場合は、以下の 「※」 の行には正しいパスを記述します。
Private Sub Form_Current()
'指定された画像に入れ替える処理&ハイパーリンク設定 2007/02/10 pPoy
On Error GoTo Err_Form_Current
Dim myPath As String '画像フォルダのパス
Dim imgPath As String '画像のフルパス
myPath = CurrentProject.Path '※ 自mdb のパス
If IsNull(Me!FileName) Then
'新規レコードに移動した際はデザイン時の画像を表示
Me!img_1.Picture = myPath & "\くまさん.gif"
Me!img_1.HyperlinkAddress = "" 'リンク無し
Else
imgPath = myPath & "\" & Me!FileName 'パス&画像ファイル名
With Me!img_1 'イメージコントロール
.Picture = imgPath '画像のフルパスセット
.HyperlinkAddress = imgPath 'ハイパーリンク
.ControlTipText = Nz(Me!myMemo) 'ヒントテキスト
End With
End If
Exit_Form_Current:
Exit Sub
Err_Form_Current:
MsgBox Err.Description
Resume Exit_Form_Current
End Sub
| |||
|
≪準備5≫ 以下は新規レコードで入力されたファイル名の画像を、即座に表示する為の処理です。 このコードは、「FileName」 テキストボックスの、「更新後処理」 イベントに記述します。
Private Sub FileName_AfterUpdate()
'ファイル名を入力されたとき画像を表示後
'ハイパーリンク追加 2007/02/10 pPoy
On Error GoTo Err_FileName_AfterUpdate
Dim myPath As String
myPath = CurrentProject.Path '※ 自mdb のパス(画像フォルダパス)
Me!img_1.Picture = myPath & "\" & Me!FileName
Me!img_1.HyperlinkAddress = myPath & "\" & Me!FileName
Exit_FileName_AfterUpdate:
Exit Sub
Err_FileName_AfterUpdate:
MsgBox Err.Description
Resume Exit_FileName_AfterUpdate
End Sub
| |||
以上で設定は終了です。 フォームを開くと 無事に最初の画像が表示されます。 画像の上にマウスを移動すると、 マウスが手の形に変わります。 画像をクリックすると、オリジナルの画像ファイルが開きます。 ※ この画像は参考用の為、クリックしても何も起こりません。 | |||
↓ 下は開かれた画像ファイルの例です。
| |||
≪注意≫
| |||
☆ 感想をお知らせください (直接ブラウザから送信致します。メールアカウントは不要です。)
form mail はこちら
Copyright(C) pPoy 2007-2008