内容 -------------------------------- 過去の質問整理の中にもあった、 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時間以内発送 |