• ベストアンサー

アクセス 画像を更新したい

フォーム1にイメージコントロールを置き ピクチャタイプをリンクにして、 ピクチャのパスを C:\Users\Desktop\無題.jpg のように指定してますが フォームが開いている最中に無題.jpgの中身が変わったら、 フォーム(イメージ)に表示する画像も更新させるvbaコードはありますか? 画像が更新→フォーム閉じてを開き直す と更新されますが、 Form_フォーム1.イメージ2.Requery としても何も起こらないし、エラーにもならないです。

質問者が選んだベストアンサー

  • ベストアンサー
  • m3_maki
  • ベストアンサー率64% (295/459)
回答No.1

ピクチャのパスを再設定すればよろしいでしょう。   Me.イメージ2.Picture = Me.イメージ2.Picture とか。

OZXQJGJUPPFV
質問者

お礼

ありがとうございます。

関連するQ&A

  • 画像のパスをコードで指定したい

    画像のパスをコードで指定したい vb2010を使用しています。 フォームにPictureBox1を設置したのですが プロパティからではなくVBコードでピクチャのパスを指定するにはどうすればいいですか? Me.PictureBox1="C:\Users\ユーザーアカウント名\Desktop\○.jpg" だと 「'String' の値を 'System.Windows.Forms.PictureBox' に変換できません」 というエラーになります。 Me.PictureBox1.○○=" となるのでしょうか? vbaだと Form_フォーム1.イメージ0.Picture = "C:\Users\ユーザーアカウント名\Desktop\○.jpg" でうまくいきました。 ご教授よろしくお願い致します。

  • Access2000ですが・・・・

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

  • ACCESSで画像を参照する設定がうまくゆきません

    あまり詳しくはないですが、ACCESSを使って仕事をしています。 ひとつのデータにひとつの画像をつけたデータを扱うのですが、画像を直接テーブルに貼り付けているので非常に容量を食ってしまいます。(JPG形式です) そこでネットで色々調べて、現在データを保管しているテーブルに、パス用のテキストボックスを追加し、既存のフォームにイメージを配置して表示させる方法を試していますが、うまくゆかず、「プロシージャの呼び出しまたは引数が不正です」というエラーが出てしまいます。 プロシージャというもの自体をはじめて知ったので、ネットで引っ張ってきたコードをそのまま貼り付けて使っている状態です(テキストボックスの名前やイメージの名前は変えています) 現状は以下の通りです。 ファイル形式:ACCESS2000 使用ソフト :ACCESS2003 テキストボックス名:パス イメージ名     :参照 フォームの「レコード移動時」の「イベントプロシージャ」に貼り付けたコード Option Compare Database Private Sub パス_BeforeUpdate(Cancel As Integer) End Sub Private Sub Form_Current() '指定された画像に入れ替える処理 '2006/04/15 pPoy On Error GoTo Err_Form_Current Dim myPath As String myPath = CurrentProject.Path If Not IsNull(Me!パス) Then Me!参照.Picture = myPath & "\" & Me!パス Else '新規レコードに移動した際はデザイン時の画像を表示 Me!参照.Picture = myPath & "花.JPG" End If Exit_Form_Current: Exit Sub Err_Form_Current: MsgBox Err.Description Resume Exit_Form_Current End Sub ちなみに、この「イベントプロシージャ」も突然消えてしまったりします。 非常に困っていますので、よろしくお願いいたしますm()m

  • Accessで「ファイルを開く」ダイアログを表示させて画像のフルパスを入力したい。

    こちらの過去のQ/Aを参考にして作成してみましたが、表題の方法が よくわかりません。 わたしが行ったのは・・・、 ・表示したいファイル名のフルパスを持つフィールドをテーブルに持つ。  (テキスト属性) ・フォームにそのフィールドを可視で配置する。 ・フォームにイメージコントロールを配置する。 ・Form_Loadイベントで、そのフィールドがnullでなければ、イメージ  コントロールのPictureプロパティに、そのフィールドのValueを  セットする。 この方法だと、あらかじめテーブルのフィールドに画像ファイルの フルパスをセットする必要がありますが、それを「ファイルを開く」 ダイアログボックスで選択し、自動で入力できるようにしたいのです。 何かいい方法はあるでしょうか。

  • レコード移動時にリンクした画像を表示したい

    アクセス2007です。 テーブル1をレコードソースとしたフォームを作成し フォームにイメージ4を設置しました。 テーブル1の主キーにリンクした画像ファイルがC:\に入っています。 (C:\3.jpgなどです) フォーム上にレコードの主キーとリンクした画像をそのレコードが選択された時に表示したいのですが どのようなVBAコードを書けばいいのでしょうか? Private Sub Form_Current() Me.イメージ4 = "C:\3.jpg" '画像ファイルのパス End Sub のような感じだと思うのですがこれ以上わかりません。 ご回答よろしくお願いします。

  • カッコ付けのオブジェクト名をvbaで認識させる方法はありますか?

    アクセス2003です。 フォーム名を「(あああ)」としてしまったのですが Form_(あああ).Requery をすると 「コンパイルエラー 不正な文字列です」 となります。 Form.Controls("あああ").Requery Forms "(あああ)".Requery もダメだったのですが どうにかしてオブジェクト名を変えずにカッコ付けのオブジェクト名をvbaで認識させる方法はありますか? ご教授よろしくお願い致します。

  • Access2000:CreateControl関数のacImageについて

    CreateControl関数のacImageを使ってイメージ(ウィンドウ)を動的に作成し、そこにイメージを張ることはできたのですが、この画像のOLEサイズをVBAで変更することがどうしてもできません。 「Ctrl.Stretch = True」のような書き方をするのではないかと思うのですが・・・ ---------------------------------------------------------------- Dim tForm As Form Dim Ctrl As Control Set tForm = CreateForm() Set Ctrl = CreateControl(tForm.Name, acImage, , , "", 100, 100, 1500, 800) Ctrl.ストレッチする = True  ←この部分がわかりません。 Ctrl.Picture = "C:\image.JPG" ---------------------------------------------------------------- よろしくお願いします。

  • Access2007のサブフォームのRequeryで悩んでいます。。

    Access2007のサブフォームのRequeryで悩んでいます。。 Aメインフォーム Bサブフォーム埋め込みコントロール Cサブフォーム リストボックスう AにBを貼り付けBのソースオブジェクトにCを指定しています。 Cは帳票形式です リストボックスをクリックしたら、 CのRecordSourceにSQLを挿入し、 CをRequeryしていますが、全くRequery出来ていない模様なのです。。 B.SourceObject="C"も試したのですが、全く思った通りのデータが抽出されません。 B.Form.Requery Me.B.Form.Requery どれも試して駄目でした。 CのRecordSourceに直接SQLを貼り付けたら思った通りに出ますが、 Requeryが機能していない気がします。 実行結果は、数件対象データはあるのに、Cの中身は空になります。。。 正しくRequeryする方法、もしくは違うやり方があればご教授頂けないでしょうか?

  • アクセス2000のレポートでイメージを表示させたいのですが

    アクセス2000でデータベースを作成しています。レポートについて分からないことがあるので教えてください。 ・ImageFileというフィールドにイメージファイルのフルパスを入力しておき、フォーム上のPictureを配置し、下記のようなコードを記述して、Pictureに、イメージファイルを読み込んで表示させています。 Private Sub Form_Current() If IsNull(Me.ImageFile) Then   Me.イメージ.Picture = "d:\nonimage.jpg" Else: Me.イメージ.Picture = Me![ImageFile] End If End Sub ・同じような方法でレポートでイメージを印刷させることは出来ないでしょうか?  尚、ImageFileはレコード毎に異なるものを使用しています。

  • ACCESS VBAについて

    accessフォームにて実験データを入力するシステムを考えています。 添付画像のように空白のフォームに3つのサブフォーム(A.B.C)を設置しています。 動きとしては空白フォームに非連結のテキストボックス(日付カレンダー)があり、日付を変えるとフォームAのリストがその日付のサンプルリストが抽出されます。 次にフォームAの帳票リストのレコード選択するとそのレコードのSampleIDを参照してフォームBおよびフォームCのリクエリをかけたいのですがフォームBは連動するのですがフォームCが連動しません。 vbaは独学でしており、コードもネットからコピペばかりです(汗) エラーが出て、どう対処していいのかわかりません、 ご教授お願いいたします。 参考コード フォームAのレコードが選択(更新)する際のイベントです。 Private Sub Form_Current() SampleIDtemp = Me.TextSampleID.Value On Error GoTo KAIHI1 Forms(Screen.ActiveForm.Name).Controls("B").Form.RecordSource = "SELECT * FROM B WHERE B.SampleID = " & SampleIDtemp & ";" Forms(Screen.ActiveForm.Name).Controls("B").Form.Requery KAIHI1: On Error GoTo KAIHI2 Forms(Screen.ActiveForm.Name).Controls("C").Form.RecordSource = "SELECT * FROM C WHERE C.SampleID = " & SampleIDtemp & ";" Forms(Screen.ActiveForm.Name).Controls("C").Form.Requery KAIHI2: End Sub ちなみにいくつか出たエラーを示します (1)実行時エラー'2475': 指定した式では、フォームがアクティブウィンドウである必要があります。 (2)実行時エラー'2450': 参照されているフォーム'A'が見つかりません。

専門家に質問してみよう