Access2000で人事カードを作成しています。顔写真(jpg画像)は別フォルダに保存し、フォーム上のテキストボックスに画像のパスを自動作成し、レコード移動時にイメージフレームにパスに対応する画像を呼び込むVBA(Me!フレーム.picture=パス)で処理しています。ところが画像がないレコードが何件かあり、そのレコードに移動した時は、前の画像が残ったまま「ファイル名.jpgを開けません」との表示が出ます。そこでパスに対応する画像がない場合はIF条件により別処理をしたいのですが、構文が分かりません。どなたか教えていただけないでしょうか。

A 回答 (3件)

再び登場させていただきます。



ファイルの存在チェックには、Dir関数を使うと便利です。
下記に例を挙げますが、なにぶん手元に確認する環境がないもんで間違っているかも知れませんが、参考までに…。

If Dir([Jpegファイルへのフルパス]) <> "" then
'ファイルが見つかったときの処理
Else
'ファイルが見つからないときの処理
End If

ってな感じです。
    • good
    • 0
この回答へのお礼

何度もすみません。この構文で処理した所、うまくいったみたいです。
<>""の所がミソですね。ヘルプも初心者にとってはチンプンカンプンの場合が多いですが、基本的なひながたがあれば理解しやすいです。どうもありがとうございました。

お礼日時:2001/01/16 17:27

まず、Dir関数でJpgファイルの存在を確認し、みつからなければ、イメージフレームを消す(VisibleをFalseにする)、という方法はいかがでしょうか?



(たぶん、イメージフレームのなかの画像をクリアするメソッドがあるかも知れませんが、手元にAccessがないので、上記の方法を書きました。)
    • good
    • 0
この回答へのお礼

回答ありがとうございました。違う画像を残すよりもフレーム自体を消してしまうというのは、思い切った発想ですね。ただ、前提条件となる構文(Jpgファイルの存在を確認し、みつからなければ、の部分)が分からないので困っています。初心者ですみません。

お礼日時:2001/01/15 22:40

on error goto処理を用いてエラーをトラップして、処理を行えば良いと思います。

手順は
1.on error goto 処理を明記 Gotoにはエラー処理の飛び先のラベル名
2.エラー処理を書く。
2-1.エラーコードを取得on error 関係のヘルプで調べてください。
2-2.エラーコードがファイルが見つからない物だったら、画像がない処理を行い。resume nextで処理を続行。
2-3.エラーコードがその他だったら、エラーメッセージを表示。
このような手順で出来ると思います。

アドバイス程度なので詳しくはerror関数やon error gotoのヘルプと例を見て勉強してください。
    • good
    • 0
この回答へのお礼

さっそくの回答ありがとうございます。何分素人ですので、2-1.2-2の例文などを見せていただければうれしいのですが・・・・
でもerror関係のヘルプを見てもっと調べてみます。

お礼日時:2001/01/15 22:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

今、見られている記事はコレ!

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ