- 締切済み
アクセス画像DB、画像のパスを入力したがパスに画像が無い時
MSAccessで画像のデータベースを構築しています。 MSのサイトのサンプル http://www.microsoft.com/japan/users/office_expert/200210/03-1.asp や 当コンテンツ内の http://oshiete1.goo.ne.jp/kotaeru.php3?q=605269 等を参照させて頂いて、以下の様にコードを記 述しました。 Private Sub Form_Current() If IsNull(Me![画像ファイル名]) = True Then Me![リンクイメージ].Picture = "c:\sample_db\photo\" & "dummy_ph.bmp" Else Me![リンクイメージ].Picture = "C:\sample_db\photo\" & Me![画像ファイル名] End If End Sub これだと画像ファイル名が入力されていないときにはdummy_ph.bmpが表示されますが、画像ファイル名が記述されているが C:\sample_dbのディレクトリにその画像ファイルが無かったときにもdummy_ph.bmpを表示させたいのですがそのときのコー ドの書き方を教えていただけませんでしょうか。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
s_husky です。 失礼!一部、テストコードの書き換え漏れ・ミスがありました。 Private Sub Form_Current() On Error GoTo Err_Form_Current Me.imgMain.Picture = Me.txtPNAME Exit_Form_Current: Exit Sub Err_Form_Current: Me.imgMain.Picture = "C:\Temp\dummy.gif" Resume Exit_Form_Current End Sub
Me.txtPName: カレントレコードの画像ファイル名と連結しているテキストボックス。 レコードを移動した場合、次々とForm_Current()でMe.imgMain.Pictureに表示する。 こういうことかと理解しました。 であれば、次のようでもいいです。 ・該当する画像ファイルがなければエラーが発生します。 ・エラートラップでダミー画像を表示します。 Private Sub Form_Current() On Error GoTo Err_cmdImageUpdate_Click Me.imgMain.Picture = Me.txtPNAME Exit_Form_Current: Exit Sub Err_Form_Current: Me.imgMain.Picture = "C:\Temp\dummy.gif" Resume Form_Current End Sub
お礼
s_huskyさん、質問者の0615yasです。完璧に出来ました、有り難うございました。条件式 を書き換えることしか考えておらずエラートラップでやるのは目から鱗が落ちました、有 り難うございました。後から続く人がいたときのために質問内容に即して自分で書いたコ ードを書いておきます。 #################### Private Sub Form_Current() On Error GoTo err_from_current Me.[リンクイメージ].Picture = "C:\sample_db\photo\" & Me.[画像ファイル名] exit_from_current: Exit Sub err_from_current: Me.[リンクイメージ].Picture = "C:\sample_db\photo\" & "dummy_ph.bmp" Resume exit_from_current End Sub ####################