Access Tips by pPoy

  
トップへ←Top    QueryへQuery  FormへForm  ReportへReport  Module(Sub)へSub  Module(Function)へFunction  ExcelへExcel  Etc.へEtc.  Word連携へWord

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
結果

以上で設定は終了です。

フォームを開くと
無事に最初の画像が表示されます。

画像の上にマウスを移動すると、
マウスが手の形に変わります。

画像をクリックすると、オリジナルの画像ファイルが開きます。

※ この画像は参考用の為、クリックしても何も起こりません。
↓ 下は開かれた画像ファイルの例です。

Photo Editorでオープン
≪注意≫
  • 画像ファイル名を間違って入力した場合は、エラーとなります。
    正しいファイル名を指定してください。

  • 次のレコードに移動した時に、一瞬 「画像のインポート中」 のダイアログが表示されます。
    BMP ファイルが指定されたときは、あまり気にならずに表示できます。

  • この例では、画像のヒントテキスト (画像の上にマウスを置くと、暫くして表示される説明文) に、
    「myMemo」 フィールドの値を設定しています。
    何も設定しない場合、画像ファイルのフルパスが表示されます。

  • クリックで起動するアプリケーションは、画像の拡張子に関連付けされているものです。
    エクスプローラで、画像ファイルをダブルクリックして開くアプリケーションと同一です。

  • 画像をクリックして、IE で開く方法は こちら です。


この頁のTOPへTop
【念の為の注意書きです。】
このページ(下位ページ含む)の全ての物の無断転載を禁止いたします。
又、当ページ(下位ページ含む)に記載されていることは、全て自己の責任において実行してください。

☆ 感想をお知らせください (直接ブラウザから送信致します。メールアカウントは不要です。)
  form mail はこちら

Copyright(C) pPoy 2007-2008