クライアントはMS Access、バージョン2007および2016で自己完結型のツールを作成するように依頼しています。さまざまなラップトップとの間でコピーされるため、様々な時代に。このツールは、accdbデータベース以外のファイルを作成、削除、または変更することはできません。ツールが使用されているとき、ユーザーはネットワークまたはインターネットにアクセスする可能性は低いです。VBAを使用してフォームを作成し、添付された画像を読み込みます
条件の1つは、実行するたびに新しいフォームを作成することです。 Accessは、すべてのフォームとそのコントロールが展開前に既にビルドされていることを意味しますが、クライアントはそれを望んでいません。私はその問題を解決し、特定の条件に応じてx個のフォームを作成し、特定の条件、それぞれ独自のイベントなどに基づいて各フォームに30〜40個のコントロールを作成しました。
ここで、各フォームのコントロール?覚えておいてください、accdbは自己完結型でなければならないので、ロゴが特定のディレクトリや使用中のマシン上にあることは期待できません。ファイルシステムには書き込むことができません。
私はロゴ(jpeg)を添付ファイルのテーブルのいずれかのテーブルに読み込むことができます。その欄には唯一の添付ファイルになります。それが役立つならば、それがそれ自身のテーブルであることも同様に簡単です。
VBAを使用して添付ファイルコントロールを作成できますが、VBAを使用して添付ファイル内のControlSourceをFileDataに設定する方法がわかりません。
画像コントロールに画像を隠しフォームで埋め込み、画像プロパティーに.pictureプロパティーを設定しようとしても、うまくいっていませんでした。それは私のマシンで動作しているようだ。
したがって、新しく作成したフォームに添付されたjpegを表示するにはどうすればよいですか?
アタッチメントフィールドにデータベース内の画像を保存している場合は、その画像を「%TEMP%」に「本当の」ファイルとして保存しておく必要があります。ファイルシステム。そこから、イメージファイルが既知の場所にあったときにフォームに埋め込むために以前に行った作業を行うことができます。 –
@GordThompsonありがとうございます。おそらくこれが最良の選択肢ですが、残念ながらそれはクライアントが要求したものに対して明示的です。申し訳ありませんが私は不明ですが、クライアントが「自己完結型」と言うとき、彼は私がファイルシステムに書いたり読み込んだりするべきではないということを意味します。クライアントは、以前はファイルシステムに書き込むさまざまなツールで不運を抱えていました。私が尋ねたこととクライアントが指定したことが不可能な場合、私はこれを回避策として提供しますが、クライアントは満足できません。 – CWilson
私は「自己完結型」という言葉をもう少し明確にするために質問を編集中です。私は、ファイルの作成、ファイルの削除、またはaccdb以外のファイルの変更をクライアントが厳重に禁じていることを理解しようとする人を欲しがっています。技術的な理由からではなく、私が関与していなかった以前のプロジェクトが失敗し、決してアクセスされてはならない情報が壊れたからです。 – CWilson