0

2 つのテーブルがあります。1 つは「ImageDrive」という名前で、もう 1 つは「Person」という名前です。Person テーブルには、「Primary Image Path」というフィールドがあり、パスの一部、つまり「\DefaultPicture\default.jpg」が格納されます。ImageDrive テーブルには、「C:\MyDocuments\Pictures」を格納するフィールド Drive があります。

「複数項目フォーム」のフォーム タイプで Person フォームを作成しました。次に、テキスト ボックスを削除し、プライマリ イメージ パス フィールドのイメージ コントロールに置き換えました。

問題は、ImageDrive のドライブ フィールドから情報を抽出し、それをプライマリ イメージ パスと組み合わせるにはどうすればよいかということです。イメージ コントロール ピクチャを設定するには、それらを組み合わせる必要があります。

[ImageDrive]![Drive]&[Primary Image Drive]Expression Builder を使用してみましたが、イメージ コントロール ソースの式を思いつきました。ただし、フォーム ビューをクリックしても何も表示されません。

これを行う正しい方法は何ですか?

4

2 に答える 2

0

これを VBA で実行したいかどうかはわかりませんが、そのユーザーのパスを取得するのに役立つ小さなコードを次に示します。これを Recordset と組み合わせて、他の画像テーブルを参照できます。または、テーブルごとに 1 つずつ、2 つのレコードセットを使用します。

Dim myR as Recordset
Dim myR2 as Recordset
Dim filePath as String

Set myR = CurrentDb.OpenRecordset("ImageDrive", dbOpenDyanset)
Set myR2 = CurrentDB.OpenRecorset("Person", dbOpenDynaset)

'When you open these two Recordsets they will open on the first record of each FYI
'You can either use myR.FindFirst or a Select statment to sort through the records

filePath = myR![Field_name_of_path] & myR2![Field_name_from_other_table]

'Now filePath contains what you need.

'You can also use Environ$("USERPROFILE") & "\My Documents" 
'to get something like C:\username\My Documents and set that as a string as well

Set myR = Nothing
Set myR2 = Nothing
于 2013-06-18T12:49:10.597 に答える
0

イメージ コントロールを含めた後、イメージ コントロールのコントロール ソースに移動します。フォームは Person テーブルのフィールドを使用して作成されるため、dlookup メソッドを使用してドライブを取得します。以下は、コントロール ソースに配置されるコード行です。

"=DLookUp("[ドライブ]","ImageDrive","[ドライブ] IS NOT NULL") & [プライマリ イメージ パス]"

于 2013-06-19T01:05:29.710 に答える