質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

解決済

2回答

11532閲覧

【ACCESS】フォーム画面で画像データを追加したい。

tera_taro

総合スコア46

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2018/06/28 08:16

前提・実現したいこと

テーブルには添付ファイルフィールドがあり、テーブルに直接画像を追加することはできるが、フォーム画面でも画像を追加したい。
イメージ説明
イメージ説明
テーブルへのデータの登録はSQLで実行しているのでそこで、添付ファイルのフィールドを追加したらよいと思うので、とりあえずは選択した画像データを添付フィールドに取得できることができればこの問題は解決できるのではないかと考えます。
その際画像データは「図1.jpg」というような形だと良いと思います。
「C:\Users\ーーーーー\Desktop\ーーーーー\画像\図1.jpg」のような形だと自分のPCでしか表示できないと思うので。

発生している問題・エラーメッセージ

添付ファイルのフィールドを追加したが、ダブルクリックしても何も起こらない。

登録関係のコード一部

VBA

1'////////////////////////////////////////////////////////// 2' 3' データ追加処理 4' 5'////////////////////////////////////////////////////////// 6Private Function InsertData() As Boolean 7On Error GoTo Err_Proc 8 9 Dim type_BUSHO As MSTTBL_BUSHO 10 Dim strSQL As String 11 12 '=============================================== 13 ' 保存値セット 14 '=============================================== 15 Call SetEntryData(type_BUSHO) ' ここで保存値取得 16 17 '=============================================== 18 ' SQL文字列生成 19 '=============================================== 20 strSQL = "INSERT INTO MSTTBL_BUSHO (" 21 strSQL = strSQL & " BUSHO_CD," 22 strSQL = strSQL & " BUSHO_NAME," 23 strSQL = strSQL & " ENT_DATE," 24 strSQL = strSQL & " ENT_USER" 25 strSQL = strSQL & " )" 26 strSQL = strSQL & " VALUES (" 27 strSQL = strSQL & "'" & type_BUSHO.BUSHO_CD & "'," 28 strSQL = strSQL & "'" & type_BUSHO.BUSHO_NAME & "'," 29 strSQL = strSQL & "'" & type_BUSHO.ENT_DATE & "'," 30 strSQL = strSQL & "'" & type_BUSHO.ENT_USER & "'" 31 ' 添付ファイルフィールド 32 ' strSQL = strSQL & "'" & type_BUSHO.TMP_ROGO & "'" 33 strSQL = strSQL & ")" 34 35 '=============================================== 36 ' 更新処理実行 37 '=============================================== 38 'SQL実行 39 DoCmd.RunSQL strSQL 40 41 '戻り値セット 42 InsertData = True 43 44Exit_Proc: 45 Exit Function 46 47Err_Proc: 48 MsgBox Err.Description 49 MsgBox Err.Number 50 InsertData = False 51 Resume Exit_Proc 52End Function

補足情報(FW/ツールのバージョンなど)

Windows10,ACCESS2016

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

非連結フォームで、ということですね。

まず添付ファイル型にファイルを追加するのは、SQLではできません。
DAOを使うことになります。下記を参考に。

アクセス初心者です。添付ファイル型フィールドを含む複数のテーブルをひと... - Yahoo!知恵袋

添付ファイル型のファイルを非連結フォームに表示するのはたぶん難しいと思います。
添付ファイル型は複数のファイルを格納することができますので、そのあたりの対応もかなり難しいです。

連結フォームにする場合は、下記にサンプルファイルがありますので、参考にしてください。

hatena の Microsoft Access 掲示板|フォームのコントロール(添付ファイル)|スレッドNo.7754

追記

■T'sWare Access Tips #490 ~添付ファイル型フィールドへファイルを追加するには?~

登録するのが、一つの画像ファイルだけなら、添付ファイル型でなく、テキスト型のフィールドにファイルのパスを格納しておいて、イメージコントロールで表示させる方法の方がいいかも。

AC2007以降の帳票フォームで画像表示 - hatena chips

投稿2018/06/28 10:07

編集2018/06/29 02:31
hatena19

総合スコア33620

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tera_taro

2018/06/28 23:52 編集

情報ありがとうございます。
tera_taro

2018/06/29 01:38

テーブルへの登録難しいですね・・・ 今実装したいのは複数のファイルは格納しなくてもよくて、 1つの画像をテーブルの各部署に格納し、表示したいんですよね・・・。
hatena19

2018/06/29 02:27

連結フォームにしておけば、添付ファイルと連結したフィールドをダブルクリックで登録できます。 連結フォームとはレコードソースのテーブル名、コントロールソースにフィールド名を設定してあるフォームのことです。 ファイルの登録法のリンク先は回答の方に追記しておきます。
guest

0

ベストアンサー

※添付型はaccessのデータとして取り込まれるので、保存後は元のファイルがなくても大丈夫ですけど。

プロパティを見るとコントロールソースが指定されていませんので、それが理由だと思われます。

投稿2018/06/28 08:47

編集2018/06/28 08:49
sazi

総合スコア25138

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tera_taro

2018/06/29 00:06 編集

フォームのレコードソースにMSTTBL_BUSHOのテーブルを設定していない、 コントロールソースがない、為できていなかったようです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問