内容
--------------------------------
過去の質問整理の中にもあった、
Accessで画像関係の処理です。
*Accessでの画像関係、、みんな興味あるみたいですね。。
------------------------------------------------------
>お知恵を借りたいのですが、AC
>CESSで画像付き社員リストを
>作りたいのですが、
>サンプルファイル(Image.
>jpg)のような帳票を作るには
>どうすれば良いでしょうか?
>このイメージにこだわることはな
>いのですが、
------------------------------------------------------
*実行サンプルをダウンロードして、見てください。
作成の方向は、
Pictureプロパティを使用して、画像を埋め込まないで処理します。
テキストボックス、画像ファイル名
が変更されたら、
Me![図].Picture プロパティに図のファイル名をセットします。
'-------------------------
Private Sub 画像ファイル名_AfterUpdate()
'入力データ無しのときは、処理しない
If Len(Me![画像ファイル名] & "") = 0 Then
Me![図].Picture = ""
Exit Sub
End If
'ファイル存在チェック
If Len(Dir(GetDBPath() & Me![画像ファイル名])) = 0 Then
MsgBox GetDBPath() & Me![画像ファイル名] & "ファイルが見つかりません、
確認してください"
Exit Sub '途中で抜けます
End If
'画像のセット
Me![図].Picture = GetDBPath() & Me![画像ファイル名]
End Sub
'--------------------------------
ポイントは、Me![図].Picture = ファイル名で、画像が表示できます。
エラーチェックとしては、
dir関数を使用し、ファイルの存在だけ軽くチェックしています。
また、今は、カレントデータベースと同じ位置の画像を読み込むようにしています。
(CD−Rに焼いた画像などには、まだ、対応してません、、
ドライブを+するなど、工夫をして下さい。)
下記、起動mdbの場所を知る関数です。
'-------------------------------------
'
'カレントMDBの起動場所を返す
Public Function GetDBPath()
Dim strName As String
Dim strPath As String
' このシステムの名前を取得 (c:\aaa\bbb\ccc\ddd.mdb)
strName = CurrentDb.Name
' パスを取得 (後ろのXXX.MDBを取り除く)
strPath = Left(strName, InStrRev(strName, "\"))
'リターン値をセット
GetDBPath = strPath
End Function
'
' 文字列str1から文字列str2を文字列の後ろから探す。
Public Function InStrRev(str1 As String, str2 As String) As Integer
Dim nPos As Integer
nPos = Len(str2) - 1
Do While Len(str1) > nPos
If str2 = Mid(str1, Len(str1) - nPos, Len(str2)) Then
Exit Do
End If
nPos = nPos + 1
Loop
InStrRev = Len(str1) - nPos
End Function
'-------------------------------------


今回も、役立つ回答になってませんが、
がんばってください。
*いつものことだが、わかりにくい、、、、
自分へ一言、、
プロらしいテクニックないの?、、、(ないんですよ、、)
やっぱ、三流だなぁ、、と声が聞こえてきたところで、このへんで、、
今日も途中で逃げ出す、、、悪人 Ken3 でした。。。
質問や要望など連絡方法でお互い確認が取りやすく、便利なのが掲示板なのですが、私の対応のまずさから不定期で荒れてしまい、掲示板は現在封鎖中です。(反省しなきゃ)
|
感想や質問・要望・苦情など 三流君へメッセージを送る。 時間的余裕のある要望・質問・苦情の場合は、下記のフォームからメッセージを送ることができます。 |
| ←パソコンの技術系の書籍を探しているなら コンピュータ関連の出版社33社(アスキー、インプレス等)が共同運営するコンピュータの本・専門店 ※種類が豊富で探し易い※在庫ありが48時間以内発送 |