社内で名札を着用しております。
その名札に持っている資格(10数種類あります)の
マークを印刷したく考えております。
人によっては数種類の資格を持っている人がいるため
その人の名札には数種類のマークが印刷されるイメージです。
(マークの配置は左から順番に取得資格のみ印刷される)
色々な情報を頼りに以下コード作成してみましたところ、
現時点で問題点が2点発生しました。
まずは、ActiveX コントロールの Microsoft Forms 2.0 Imageを
レポートに配置し、
DoCmd.OpenReport ReportName:="レポート名"
, View:=acViewPreview
, OpenArgs:="\test\image\pic1.bmp"
というように OpenArgs で画像のパスを渡し、
レポート側では
Format時イベントではなく(開く時)イベントで
'--------------------------------------------------------------------------
Private Sub Report_Open(Cancel As Integer)
If LenB(Me.OpenArgs) Then
Me.Image1.Picture = Access.Application.LoadPicture(Me.OpenArgs)
End If
End Sub
ここで、「実行時エラー'438' オブジェクトは、このプロパティまたは
メソッドをサポートしていません」と表示されます。(問題点①)
仮に問題点①が発生しない場合、この場合一つしか資格のマークが表示されない
コードになっていますが、複数の場合、取得資格のみを左から順番に
レポート表示はどうしたらよいのでしょうか?(問題点②)
知恵を貸していただきたくお願い致します。
Accessのバージョンは何でしょうか。
AC2007以降なら、イメージコントロールのコントロールソースプロパティに画像パスを設定することで簡単に表示させることができます。
下記の「画像ファイル名のみ格納してイメージコントロールで表示する方法」の項目を参照ください。
帳票フォームでの説明になってますが、レポートでもまったく同じ方法で使用できます。
hatena様
お返事ありがとうございます。
アクセスのバージョンは2000です。
レポート印刷のイメージは画像のとおりです。
(資格3種類、1名×2種類の場合)
バージョン替えて作り替えるよりこのまま進めたいのですが
何か良い方法がありましたらアドバイスいただけましたら幸いです。
詳細セクションにイメージコントロールを配置して、VBAでイメージコントロールのPictureプロパティに画像のパスを設定します。レコード毎に変更したいので、フォーマット時のイベントプロシージャに記述します。
下記のような感じのコードになります。(フィールド名などは適当ですので適宜変更してください。)
hatena様
ご丁寧にありがとうございます。
ご連絡を待っている間、2010形式で作り替えてみたところ、
2000で作っていたDAOが機能しませんでした。
ネットで調べたところ、Win10 64ビットのためかDAOの参照設定が無効になっていたため
Microsoft office 16.0 Access Database・・・を参照設定するようにと記載がありましたのでチェックを入れたところ、「DLL読み込み時のエラーです」とエラーがでます。
これはどうしたらよろしいでしょうか?
今後のために教えていただきたくお願い致します。
Access(Office)をインストールするとき、Microsoft office 16.0 Access Database・・・ も同時にインストールされるはずなんですが、失敗しているのかもしれません。
Access(Office)をいったんアンインストールして、もう一度インストールしてみたら解決するかもしれません。
それでダメなら、Microsoft DAO 3.6 Object Liblary を参照設定してみてください。
DAOの古いバージョンですが、機能に差はないので問題なく使えるはずです。
hatena様
ご連絡ありがとうございます。
アクセスのアンインストールやってみます。
それでもダメな場合の、Microsoft DAO 3.6 Object Liblaryの参照設定 ですが、
これは旧バージョンで使っていましたが、2010ではこれも「DLL読み込み時のエラーです」とエラー表示されます。
ご連絡待っている間、2010でDAO⇒ADOに変更しておりました。
そんなに複雑なプログラムではないのでADOに作り替えたほうが楽な気がしてきました。
昨日ご教授いただいた、AC2007以降の帳票フォームで画像表示も通常設定でできましたし。
とりあえずADOで進めてみたいと思います。
また何かありましたらよろしくお願いします。