次の方法で共有

Access2016 テーブルに「添付ファイル」のデータ型で画像を登録するとエラーが出る

Anonymous
2017-06-20T08:47:14+00:00

Access2016 テーブルに「添付ファイル」のデータ型で画像を登録すると、何十件か登録した時点でデータベースが存在しませんとエラーが出て、データベース自体が開かなくなります。データベースを新たに作り直したり、ファイルの修復をしたりしても何度やっても途中で同じエラーになり、先に進みません。(テーブルへのデータの追加ができません。)

テーブルに追加したい画像のサイズは、トータルで約9GB、1枚の画像が5MB~20MBほどです。サイズの大きな画像をデータべースに登録できないのでしょうか?画像を比較するデータベースを作成する必要があり、対処方法を教えてください。

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2017-07-12T13:08:17+00:00

テーブルの「画像1」フィールドに格納しているデータは、フルパスで格納しております。

例)

"C:\Users\(ユーザー名)\Pictures\20170528画像" & [a2.jpg]

(ユーザー名)の部分は本名フルネームローマ字のため、ユーザー名と変えて書かせて頂きましたが

Accessのテーブルには、本名のローマ字のまま入力しております。

フルパスも画像名も、コピー&ペーストしていますので、入力間違いなどはありません。

 "C:\Users\(ユーザー名)\Pictures\20170528画像" & [a2.jpg]

というのかフィールドに入っているのですか。なんか、変です。

画像ファイルのフルパスだとすると例えば下記のようになると思いますが、

C:\Users\hatena\Picture\20170528画像.jpg

【フォーム】

イメージコントロールのコントロールソースに設定した式とイメージコントロールの名前

イメージコントロールの名前

→イメージ80

コントロールソース

→画像1

これは問題ないですね。フィールド「画像1」に画像ファイルの正しいフルパスが入っているなら、画像が表示れるはずです。

正しいフルパスが入っているか確認してください。

>「#Name?」と表示されるのはどこに表示されているのですか。

> テキストボックスですか。

> もし、そうなら、そのテキストボックスの名前とコントロールソースの設定。

テキストボックスの名前

→ 画像1

コントロールソース

→ "C:\Users\(ユーザー名)\Pictures\20170528画像" & [a2.jpg]

上記のようにしておりましたが、画像を表示させたいコントロールが

テキストボックスだからダメなんだと思い、今はテキストボックスではなく

イメージコントロールに変えております。

テキストボックスにフルパスを表示させたい場合は、下記のように設定してください。

名前 txt画像フルパス

コントロールソース 画像1

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

7 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2017-06-28T09:30:21+00:00

    ご親切にご回答ありがとうございます。

    実は、教えて頂いた通り何度もトライしているのですが、どうしても画像が表示されず、他のサイトも含めていろいろ調べてトライ中です。

    エラーメッセージに、「#Name?」と表示されるので、画像の名づけ方が悪いのかと思い、いろいろ変更を試みているのですが、どうしてもだめです。(画像は順番に数字をふっていただけだったので、数字だけがダメなのだろうかと文字と数字の組み合わせにしたり、アルファベットの文字だけにしてみたりしていますが、うまく表示されません。)

    Accessは元々2003で使っていたのですが、10年ぶりに2016で使ってみるといろいろ変わっていることが多すぎて四苦八苦しております。

    もし何かお気づきの方がいらっしゃればアドバイス頂けましたら幸いです。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2017-06-20T10:57:32+00:00

    「連結フォームによって、それぞれのパスが示す画像を表示」

    する方法をご説明、もしくはやり方が載っているサイトを

    教えて頂けましたらありがたいのですが・・・。

    フィールドはテキスト型でOKです。

    フィールドに画像のフルパスが格納されいる場合、

    イメージコントロールを配置して、コントロールソースにフィールド名を設定します。

    特定のフォルダーに画像があり、ファイル名だけフィールドに格納されている場合は、イメージコントロールのコントロールソースを下記のように設定します。

    ="C:\Users\hatena\Documents\AccessTest\Picture" & [画像ファイル名]

    下記にサンプルがありますのでご参考に。

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

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2017-06-20T09:24:12+00:00

    早々にご親切な回答ありがとうございます。

    > 特定のフォルダに各画像ファイル(のコピー)を保存しておき、

    > それらのファイル名(あるいは絶対パス)を

    > テキスト型やメモ型のフィールドに格納するようにし、

    > そのフィールドが定義されたテーブルをレコードソースとする

    > 連結フォームによって、それぞれのパスが示す画像を表示

    「特定のフォルダに各画像ファイルを保存し、それらのファイル名を

    テキスト型のフィールドに格納する」ところまではわかるのですが、

    ハイパーリンク型ではなく、テキスト型のフィールドでいいのですか?

    「連結フォームによって、それぞれのパスが示す画像を表示」

    する方法をご説明、もしくはやり方が載っているサイトを

    教えて頂けましたらありがたいのですが・・・。

    よろしくお願いします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. Anonymous
    2017-06-20T09:12:28+00:00

    Access 2016 の仕様

    引用:

    > Access 2016 データベース (.accdb) の合計サイズ

    > (すべてのデータベース オブジェクトおよびデータを含む)

    >

    > 2 GB からシステム オブジェクトに必要な領域を差し引いたもの

    Access データベースのファイルサイズ上限は 2 GB までと定められています。

    > テーブルに追加したい画像のサイズは、トータルで約9GB、1枚の画像が5MB~20MBほどです。

    > サイズの大きな画像をデータべースに登録できないのでしょうか?

    論外。

    > 画像を比較するデータベースを作成する必要があり、対処方法を教えてください。

    画像ファイルの品質を劣化させる(解像度を下げる、圧縮率を上げる

    といった編集を加えることでファイルサイズを落とす)ことが

    許されないならば、ファイルそのものをデータベースに格納することは

    諦めるしかないでしょう。

    例えば、特定のフォルダに各画像ファイル(のコピー)を保存しておき、

    それらのファイル名(あるいは保存先の絶対パス)を

    テキスト型やメモ型のフィールドに格納するようにし、

    そのフィールドが定義されたテーブルをレコードソースとする

    連結フォームによって、それぞれのパスが示す画像を表示するように

    なさった方がよいと思います。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません