Access2000で人事カードを作成しています。顔写真(jpg画像)は別フォルダに保存し、フォーム上のテキストボックスに画像のパスを自動作成し、レコード移動時にイメージフレームにパスに対応する画像を呼び込むVBA(Me!フレーム.picture=パス)で処理しています。ところが画像がないレコードが何件かあり、そのレコードに移動した時は、前の画像が残ったまま「ファイル名.jpgを開けません」との表示が出ます。そこでパスに対応する画像がない場合はIF条件により別処理をしたいのですが、構文が分かりません。どなたか教えていただけないでしょうか。
No.3ベストアンサー
- 回答日時:
再び登場させていただきます。
ファイルの存在チェックには、Dir関数を使うと便利です。
下記に例を挙げますが、なにぶん手元に確認する環境がないもんで間違っているかも知れませんが、参考までに…。
If Dir([Jpegファイルへのフルパス]) <> "" then
'ファイルが見つかったときの処理
Else
'ファイルが見つからないときの処理
End If
ってな感じです。
何度もすみません。この構文で処理した所、うまくいったみたいです。
<>""の所がミソですね。ヘルプも初心者にとってはチンプンカンプンの場合が多いですが、基本的なひながたがあれば理解しやすいです。どうもありがとうございました。
No.2
- 回答日時:
まず、Dir関数でJpgファイルの存在を確認し、みつからなければ、イメージフレームを消す(VisibleをFalseにする)、という方法はいかがでしょうか?
(たぶん、イメージフレームのなかの画像をクリアするメソッドがあるかも知れませんが、手元にAccessがないので、上記の方法を書きました。)
回答ありがとうございました。違う画像を残すよりもフレーム自体を消してしまうというのは、思い切った発想ですね。ただ、前提条件となる構文(Jpgファイルの存在を確認し、みつからなければ、の部分)が分からないので困っています。初心者ですみません。
No.1
- 回答日時:
on error goto処理を用いてエラーをトラップして、処理を行えば良いと思います。
手順は1.on error goto 処理を明記 Gotoにはエラー処理の飛び先のラベル名
2.エラー処理を書く。
2-1.エラーコードを取得on error 関係のヘルプで調べてください。
2-2.エラーコードがファイルが見つからない物だったら、画像がない処理を行い。resume nextで処理を続行。
2-3.エラーコードがその他だったら、エラーメッセージを表示。
このような手順で出来ると思います。
アドバイス程度なので詳しくはerror関数やon error gotoのヘルプと例を見て勉強してください。
さっそくの回答ありがとうございます。何分素人ですので、2-1.2-2の例文などを見せていただければうれしいのですが・・・・
でもerror関係のヘルプを見てもっと調べてみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
シグナル 6(SIGABRT)とは?
-
エクセル VBAで複数セル選択時...
-
IF文に時間(何時から何時ま...
-
【C#/Java?】try-catchでcatch...
-
どう増強すべきか
-
vbaのエラー対応(実行時エラー...
-
特定の名前のオートシェイプの...
-
【Vb.net】プリンタジョブの取得
-
private subモジュールを他のモ...
-
ListViewから選択中の文字列を取得
-
途中で処理を中断させたい (ア...
-
VBA Vlookup #N/A表示させない方法
-
マクロで、次のコードへ行く前...
-
StatusStripの表示が更新されな...
-
RaiseEventのメリット
-
フォルダのアクセス権確認について
-
VBAでBook読み込み時の非表示方...
-
ProgressBarを用いる場合、全体...
-
VB6 カウントアップ処理について
-
フォームを開いても真ん中に表...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
IF文に時間(何時から何時ま...
-
private subモジュールを他のモ...
-
vbaのエラー対応(実行時エラー...
-
シグナル 6(SIGABRT)とは?
-
マクロで、次のコードへ行く前...
-
どう増強すべきか
-
Excel VBA セルの名前があるか...
-
特定の名前のオートシェイプの...
-
どうやってもFor文を抜けてしま...
-
特定のファイルを他のプロセス...
-
ExcelのVBAで、選択したファイ...
-
VB6にてネットワーク上にある共...
-
VBA 複数の行を高速で削除する...
-
Word VBA。各マクロの間に待ち...
-
フォルダのアクセス権確認について
-
エクセル VBAで複数セル選択時...
-
VBA For Each 〜 複数条件について
-
【C#】Page_Loadさせない方法に...
-
StatusStripの表示が更新されな...
おすすめ情報