• 締切済み

アクセス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はレコード毎に異なるものを使用しています。

みんなの回答

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.1

レポートの詳細_Format イベントに、同じコードを書いちゃってください。 不明点とかあったら、補足してください。

関連するQ&A

  • 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

  • アクセス。レポートを最新版状態を表示させたい

    アクセス2000を使用しています。 チェックを入れてチェックが入った品名のみレポートで表示するようにしています。 チェックが入った品名のみのレポートを常に見れるようにしたいのですがどうしたらいいでしょうか? レポートだけを開くと全ての商品がでる状態です。 1ヶ月に1.2回ほどチェックの入った品名が変わるので常に最新版を見れるようにしたいです。 レポートが表示されるまでの文です。 Private Sub コマンド_Click() If Me.チェック Then Me.品名リスト = Replace(Me.品名リスト & ",", "," & Me.品名 & ",", ",") Me.品名リスト = Left(Me.品名リスト, Len(品名リスト) - 1) Else Me.品名リスト = Me.品名リスト & "," & Me.品名 End If End Sub Private Sub 実行_Click() Dim strFilter As String If Me.品名リスト <> "" Then strFilter = "品名 In(" & Mid(Replace(Me.品名リスト, ",", "','"), 3) & "')" DoCmd.OpenReport "R_カタログ", acViewPreview, , strFilter Else MsgBox "選択されたデータはありません。" End If End Sub 初心者ですので分かりやすく教えて頂けると助かります。

  • アクセス 開いているレポート名を取得する。

    アクセス初心者です。 VBAにて フォーム1でレポート、レコードを選択後に レポートを開くと同時に印刷フォームも開くように組んでます。 その印刷フォームで印刷をすると、印刷フォーム自体が印刷されてしまうので ”レポート名”を認識させてから印刷しています。 その時の”レポート名”を開いたときに自動的に変数として印刷フォームに引き継ぎたいのですが やり方が分かりません。 意図としては、印刷フォームを汎用的に使いたいためです。 印刷フォームの呼び出しコードは下記にて Private Sub コマンド18_Click() Dim report_name As String Dim report_value As String If Not IsNull(コンボ50.Value) = True Then report_name = コンボ48.Value  ’レポート名です report_value = コンボ50.Value DoCmd.OpenReport report_name, acViewPreview, , "[現場名]='" & report_value & "'" DoCmd.MoveSize Width:=10000, Height:=13000 Reports(report_name).ZoomControl = 75 Else MsgBox "項目を選択してください。" End End If DoCmd.OpenForm "印刷_フォーム", acNormal End Sub Private Sub コマンド53_Click() Dim new_date As String Dim form_name As String If Not IsNull(コンボ48.Value) = True Then form_name = コンボ48.Value DoCmd.OpenForm form_name, acNormal, , , acFormAdd DoCmd.MoveSize Width:=12000, Height:=13000 Else MsgBox "[取引先名]を入力してください。" End If End Sub 下記は印刷フォームにて、印刷設定をする場合のコードです Private Sub コマンド0_Click() Dim report_name As String report_name = "レポート名" On Error Resume Next DoCmd.SelectObject acReport, report_name, True DoCmd.RunCommand acCmdPrint End Sub

  • アクセス画像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を表示させたいのですがそのときのコー ドの書き方を教えていただけませんでしょうか。 よろしくお願いします。

  • Accessレポートで1行おきに色を変える

    Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer) FontCount = FontCount + 1 If FontCount Mod 2 = 1 Then Me.Section(0).BackColor = 16777215 Else Me.Section(0).BackColor = 16777164 End If End Sub としてみました。 ですが何らかわりなく… 試しに Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer) FontCount = FontCount + 1 If FontCount Mod 2 = 1 Then Me.Section(0).BackColor = 16777215 Else Me.Section(0).BackColor = 16777164 End If MsgBox FontCount End Sub としてみたところずーっと「1」が表示され、変数がかわってないようです。 いったいどこがダメなのでしょうか? 確か以前できたはずなのに…(><)

  • アクセス レポートに線引き

    アクセス2000のレポートです。 Private Sub 詳細_Format(~~ If Me.CurrentRecord Mod 5 = 0 Then Me.Line (~~~~ End If End Sub のように、5行おき線を引いています。 でも、1ページ目が全部で18行だとすれば、2ページ目は3行目に線が引かれます。 改ページされたら、また5行目に線を引くにはどうしたらよろしいでしょうか?

  • Accessのレポートに取り消し線を表示したい

    いつもお世話になっています。 名簿を作成しているのですが、結婚して姓が変わった場合、 上書きせずに新しい姓を別のテキストボックスに入力します。 これをレポートとして出力する際、新しい姓が入力された場合は、 過去の指名のテキストボックスに二重線を引きたいのですが うまくいきません。 Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) If 新姓 <> "" Then Me.取り消し線1.Visible = True Me.取り消し線2.Visible = True Else Me.取り消し線1.Visible = False Me.取り消し線2.Visible = False End If End Sub お力添えをお願いいたします。

  • Accessのレポートで開くと「読み取り専用なので…」と出る。

    今まで通常通り表示できていたレポートを、詳細のところを白/グレーのストライプにしようと思い、以下のコードを追加しました。 Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) Count = Count + 1 If Count Mod 2 = 1 Then Me.Section(0).BackColor = 16777215 Else Me.Section(0).BackColor = 12632256 End If End Sub すると 実行時エラー'2135' このプロパティは読み取り専用であるため、設定できません。 と出てしまいました。 どこがダメなのでしょうか?

  • アクセス レポート バックカラーの変更方法

    現在レポートで1行ごとにバックカラーを変えて印刷しておりますが、それをチェックボックスにチェックがはいった行だけをカラーにするよう変更したいと考えておりますが、よくわかりません。現在のコードをコピーしました。お手数ですがご指導願います。 Option Compare Database Dim bline As Integer Private Sub Report_Open(Cancel As Integer) End Sub Private Sub ページヘッダー_Format(Cancel As Integer, FormatCount As Integer) bline = 0 End Sub Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) bline = bline + 1 If bline Mod 2 Then Me.Section(0).BackColor = 16777215 Else Me.Section(0).BackColor = 12663225 End If End Sub

  • Access2007で、鍵のDBを作っています。レポートに鍵の画像を挿

    Access2007で、鍵のDBを作っています。レポートに鍵の画像を挿入したいと思い、http://www.accessclub.jp/samplefile/samplefile_77.htmを参考にしたのですが、このHPで紹介しているイメージコントロールの貼り付けの部分で指定したように代表?として貼り付けた画像のレコードしか出てきません。(現在、レコードは3つあります。) テーブルは「鍵 台帳」 鍵 記号(テキスト型) 鍵 名称  ・  ・  ・ 鍵画像パス(テキスト型) があり、 レポートの詳細セクション、イベントタブのファーマット時に、[イベントプロシージャ]にし、 Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) On Error GoTo エラー発生 Me.ラベル0.Visible = False Me.イメージ34.Visible = True If Not IsNull(Me.鍵画像パス) Then Me.イメージ34.Picture = Me.鍵画像パス Else Me.ラベル0.Visible = True Me.イメージ34.Visible = False End If Exit Sub エラー発生: Me.イメージ34.Visible = False Me.ラベル0.Visible = True Resume Next End Sub と、してみました。ラベル0は「鍵 記号」フィールドに対応、イメージ34はイメージコントロールで貼り付け、書式タブのピクチャでC:¥Documents and Settings¥〇〇¥My Documents¥△△¥鍵管理DB\KM 611.jpgとしました。鍵 画像パスフィールドにも同じようにパスが入っています。(鍵 記号と鍵の画像ファイルは、同じ名前にしています。) このようにし、印刷プレビューにしようとすると、「パラメータの入力 鍵 画像.鍵 画像」と出てきます。何も入力せず、「OK」を押すと、プレビューでKM 611のレコードのみ出てきます。 レポートには、鍵 画像パスフィールドと、「鍵 履歴」テーブルもサブレポートで入れています。 ちなみに、鍵 履歴テーブルは ID 鍵 記号 履歴 日付  ・  ・ のようになっており、鍵 記号を「鍵 台帳」テーブルの鍵 記号フィールドとリレーションさせています。 アクセス超初心者でやっとここまでこぎつけたので、後は、なぜ出来ないのかさっぱりわかりません。 どうか、お助けいただければ、幸いです。 厚かましいですが、教えて頂けるようであれば、プロシージャを入れる場合なども、どこをクリックしてから等細かくご教授願えますでしょうか。 よろしくお願い致します。

専門家に質問してみよう