• ベストアンサー

Access 添付ファイルコントロールの表示順

お世話になります。 Access2010 フォーム上に添付ファイルコントロールを設置しております。 複数のファイルを追加できるかと思いますが、ファイル名順で 先頭のものが、コントロール上に表示されるようです。 例えば、  111.xlsx  222.jpg  333.pdf が添付されてる場合、Excelのアイコンが表示されます。 本来なら222.jpgの画像を表示させたいところです。 上記の例なら、@222.jpgのようにファイル名を変更し、 順番を先頭にもっていくようにしなければならないので しょうか。 他に方法があればご教示頂けると幸いです。 宜しくお願い致します。

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

  • ベストアンサー
回答No.6

>>Me.画像1.AfterUpdate = "[イベント プロシージャ]" '’イベントプロシージャ関連付け >は、どういった処理になるのでしょうか。 更新することで、AfterUpdate イベントが発動するのを抑制するためのコードですが、Recordset を介して更新する場合は、イベントが発動しないようなので、不要でした。 >なお、一回一回追加すると都度ファイル名の頭に@が >追加されてしまうので、ファイル名の頭が@なら >何もしないようにする必要がありそうです。 あっ、そうでした。       If !FileName Like "*.jpg" Then のコードを下記に修正すればいいですね。       If !FileName Like [!@]*.jpg" Then

naoto0216
質問者

お礼

度々ありがとうございます! これで試してみたいと思います。 大変勉強になりました。

その他の回答 (5)

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.5

テーブルへのレコードには一つだけ添付します。 そのためにはサブテーブルを作成して主テーブルとリレーションシップを定義します

naoto0216
質問者

お礼

この画像では、社員マスタのIDと添付テーブルの 社員IDが紐付いておりますが。。まったく関係無い のではないでしょうか。 今回の質問としましては、単純に画像ファイルを 順番的に先頭にもっていきたいだけなんです。 またサブテーブルを別に作って云々となると、話しが 変わってきます。

回答No.4

添付ファイルコントロールの更新後処理でいいのではないでしょうか。 Private Sub 画像1_AfterUpdate()   Me.画像1.AfterUpdate = "" ’更新後イベントが連鎖発動しないよう   Me.Recordset.Edit   With Me.Recordset!画像.Value     Do Until .EOF       If !FileName Like "*.jpg" Then         .Edit         !FileName = "@" & !FileName         .Update       End If       .MoveNext     Loop   End With   Me.Recordset.Update   Me.画像1.AfterUpdate = "[イベント プロシージャ]" '’イベントプロシージャ関連付け End Sub 画像1 は実際の添付ファイルコントロール名、画像は、連結しているフィールド名に変更してください。

naoto0216
質問者

お礼

最後の >Me.画像1.AfterUpdate = "[イベント プロシージャ]" '’イベントプロシージャ関連付け は、どういった処理になるのでしょうか。 この処理を除いてやってみたところ、jpgファイルの 頭に@が付いて保存されることを確認しました。 なお、一回一回追加すると都度ファイル名の頭に@が 追加されてしまうので、ファイル名の頭が@なら 何もしないようにする必要がありそうです。

回答No.3

単票フォームなら、レコード移動時のイベントプロシージャを下記のように記述すればOKです。 Private Sub Form_Current()   Dim i As Long   With Me.画像1     .CurrentAttachment = 0     For i = 0 To .AttachmentCount - 1       If .FileName(i) Like "*.jpg" Then         .CurrentAttachment = i         Exit For       End If     Next   End With End Sub 「画像1」は実際の添付ファイルコントロールの名前にしてください。 レコード移動したときに、添付ファイルのFileNameを調べて、 .jpg をCurrentAttachment(表示するファイル)にしています。 帳票フォームだとレコード移動しないと変更されないのでうまくいかないので、 ファイル名を変更するしかなさそうです。 ファイル名を変更する場合のコード例   Me.Recordset.Edit   With Me.Recordset!画像.Value     Do Until .EOF       If !FileName Like "*.jpg" Then         .Edit         !FileName = "@" & !FileName         .Update       End If       .MoveNext     Loop   End With   Me.Recordset.Update 「画像」はレコードソースの添付ファイル型のフィールド名に変更してください。 フォームでjpgファイルを追加したときのタイミングで実行するといいでしょう。 jpgファイルのファイル名の先頭に @ を追加しています。 他の画像ファイルを添付する可能性があるなら、Or 条件で追加してください。 例えば pngファイルも対象なら、 If !FileName Like "*.jpg" Or !FileName Like "*.png" Then

naoto0216
質問者

お礼

hatena1989様 いつもご回答ありがとうございます。 採用するとしたら後者になるかと思いますが、 >フォームでjpgファイルを追加したときのタイミングで実行するといいでしょう が分かりません。 添付ファイルコントロールでファイルを追加する際は、 クリップマークから追加することになるかと思いますが このVBAをどこで実行すればよいのでしょうか。 まだ試しておりませんが、レコードを保存するときって ことでよいのでしょうか。

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.2

済みません。問題点を勘違いしていました。 >@222.jpgのようにファイル名を変更し、順番を先頭にもっていくようにしなければならないのでしょうか。 おっしゃる通り読み順に表示されますね 一つのレコードには少数のファイルを添付して、 表示の順はテーブル側に定義されてはいかがですか 例えば 回答No.1では社員名のフリガナ

naoto0216
質問者

お礼

chayamati様 ご回答ありがとうございます。 >表示の順はテーブル側に定義されてはいかがですか >例えば 回答No.1では社員名のフリガナ 社員名のフリガナの表示順と、添付ファイルに追加 したファイルの順番がどういう関係になるのか 理解できずにおります。

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.1

テーブルのフィールドのデータ型に 1.添付ファイル 2.OLEオブジェクト型 3.ハイパーリンク型 の3種類があります。 ファイル名の入力はフィールドの右クリックから始めます

関連するQ&A

  • 添付ファイルを番号順に並ばせるには?

    メールにファイルを添付するとファイル名の順に並んでくれません。 「1→2→3→4」の順に選択して添付すると「4→1→2→3」と並び、 逆に「4→3→2→1」の順に選択すると「1→4→3→2」となってしまいます。 ます。 なぜこんな妙な順番になってしまうのでしょう? 何か設定変更で解決できますでしょうか? よろしくお願いします。

  • Outlook Express6で、宛先アドレス、添付ファイルの表示順

    Outlook Express6で、宛先アドレス、添付ファイルの表示順を統一したいのですが… WindowXPで使っています。 宛先アドレス、添付ファイルを複数指定するとき、後から入力したものが先に 表示されるのでずっとそうして使ってきたのですが、調べてみたら受信先で 表示順が逆になることがあるようです。 OS、メーラーによって違うのですが、逆になるケースが多いようです。 アドレスの順番や添付ファイルの分かりやすさで気を使うこともあるので、 相手側の環境によらず表示順を統一させる方法はないでしょうか。 よろしくお願いします。

  • Access テーブルの添付ファイル型への登録

    お世話になります。 Access2010 Accessにて社員情報を登録するツールを作成しているのですが、 テーブルの添付ファイル型への登録方法をご教示願います。 社員情報を新規登録するためのフォーム「社員情報登録」があり、 そこで社員の画像を選択させ、最終的にテーブルの添付ファイル「画像」 に登録したいところです。 現状、ファイル選択ダイアログから画像ファイルを選択させ、その画像ファイルの パスを取得するところまでは出来てます。 なお、フォーム上にはイメージコントロール「画像」を設置し、  Me.![画像].Picture=画像ファイルのパス で表示させてます。 フォーム上の登録ボタンが押されたときに、単純にAddNewして テーブル![画像]=画像ファイルのパスだとエラーになって しまうと思うのですが・・テーブルの添付ファイル型フィールド「画像」に ファイルを登録する方法をお教え下さい。 **************** 別の質問になるのですが、添付ファイルコントロールは、テーブルの 添付ファイルを表示させる為のものという認識です。 なので、新規登録する画面ではまだレコードが存在しない状態なので 添付ファイルコントロールは使えないと思うのですが、その認識で 間違いないでしょうか。 なので、新規登録画面では使えないけど、修正画面では使えると思ってます。 (既にレコードが存在するので、画像が登録されていたら表示できる) 以上、宜しくお願い致します。

  • Access テーブルの添付ファイル型への登録2

    お世話になります。 http://okwave.jp/qa/q9184565.html の続きとなります。 フォーム上の添付ファイルコントロールからファイルを追加すると その時点で?、レコードが作成されてしまいます。 ※実際にはフォームを閉じたときかも。 なお、添付ファイルコントロールのコントロールソースは テーブルの「添付ファイル」としてます。 添付ファイル型のフィールドをコントロールソースとして設定して おかないと、フォーム上の添付ファイルコントロールにて ファイルの追加ができない(クリップマークが出てこない) という認識なのですが・・・間違ってますでしょうか。 ご教示の程、宜しくお願い致します。

  • Access2007*添付ファイル型フィールドについて

    特定のレコードより画像(添付ファイル型)を取得し、 フォームの添付ファイルコントロールにセットしたいと考えています。 同じ画面に、複数レコードの画像を表示したいので、 フォームにレコードソースにテーブルを直結することはできません。 ワークテーブルを作ってというのも考えたのですが、 添付ファイル型があると insert文でエラーになります。 なので、ソースに書くしかないのですが、 テキストや数値型のように、Recorsetで簡単にセットすることはできないのでしょうか?? いろいろ調べてはみたのですが、 難しくて、理解できるものがありませんでした。 ご存じの方、同じようなことをしたことがある方がいましたら、教えて下さい。

  • 添付ファイル(jpg)の縮小ができません

    今日は、Win VISTA SP2です。 メールに添付するJPGファイルのサイズを小さくしょうと、JPGファイルを開いて、 「Windows フォト ギャラリー>電子メール>添付ファイル>ピクチャのサイズ」でサイズ調整して「添付」を押すと 「プロファイルが作成されていません。 コントロールパネルの「メール」アイコンを選択して、新しいプロルファイルを作成してください。」 とのダイヤログが表示されました。 このプロルファイルとはどのようなものでしょうか。

  • Shurikenの添付ファイルですが、添付されたファイルが多いと、表示

    Shurikenの添付ファイルですが、添付されたファイルが多いと、表示が先頭だけになってしまいます。 ファイルを保存したいのですが、まとめて選択できれば一度に全部を保存できます。 あるいは、表示がもっと大きくなれば、保存したものと未だのものが分かるのですが、表示が小さいので、どのファイルを保存したのか分かりません。 まとめて保存(選択)出来る方法か、ファイルを全部表示できる方法を教えてください。

  • ファイルの表示順

    最近、ワード・エクセル・ペイント・オーサリング etc・・・などソフトに限らず、ファイルを開くときのファイルの並びが名前順ではなく、名前+日付で表示されてしまい非常にわずらわしいです。 いつからなのか分かりませんが、基本は名前順で上書き保存したファイルは次回開く時は一番最後に表示されてしまいます。どこかコントロールパネルかフォルダオプションで設定すれば直せるのでしょうか?

  • PDFのアイコン表示

    PDFのアイコン表示 現在:スキャン → JPG保存 → PDFコンバート → Email ・PDFコンバートの理由: 相手先からの要望 ・PDFファイルで始めから保存しない理由: 1. ファイルが複数で一度開かないと送信先が確認できない。 2. JPGでは一枚一枚ページをめくるような表示方法が可能なため送信先が確認し易い。 3. PDFの一番大きいアイコンでも確認が出来ない。 4. 約40枚/日のためそれぞれに名前を付けて保存が作業的に難しい(現在はスキャン順の自動番号)。 5. 約40枚を一つのファイルにした場合、ページ指定で添付が出来ない??? ・上記の現作業で困っている事 1. PDFのコンバートに一工程が余分 2. 現在のJPGファイルのサイズ大きいためPDFにてサイズダウンがしたい。 PDFでファイルを開かずアイコンからスキャンした内容から送信先がわかる方法、またはこれに変わる方法ありましたら教えてください。

  • アウトルックエクスプレスで添付ファイルをつける時の表示順について

    アウトルックエクスプレスで、添付ファイルをつける場合についての質問です。 添付ファイルをクリックすると、ファイル一覧が表示されますが、その時の表示形式を自由に変えて、設定を保持することはできますか? 具体的には、更新日付順に並べたいのです。 自宅のアウトルックエクスプレス(VER.6)だと更新日付順なのですが、会社のアウトルックエクスプレス(VER.6)だとファイル名順になっています。 ファイルエクスプローラーは、更新日付順にしているのですが、これは反映されないのでしょうか。 どういう場所で(たとえばレジストリーで?)制御されているのか教えていただければ嬉しいです!よろしくお願いいたします。

専門家に質問してみよう