-PR-
解決済み

Accessで画像プレビュー

  • 困ってます
  • 質問No.77846
  • 閲覧数168
  • ありがとう数3
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 53% (48/90)

Access97&2000のVBAの、「.Picture」を使って画像データ(jpg)を表示させているのですが、
表示するのにファイルサイズの限界が出ています。
Windows95/98seでは約200KB、NTでは約700KB。
NTは、「メモリが足りません」のエラー。Win98は、フリーズするありさまです。
メモリサイズとは、関係無しで発生します。(W98は、256MB NTは、128MB)
OSの問題だとおもわれる。
この、サイズ限界クリヤする方法をおしえてください?せめて1MB
あと、出来ればサブネールする方法があれば教えてください。
よろしく、お願いします。
NTは、根性でメモリ(仮想を含めて)を”0”まで使い果たしてくれます。
Win9xは、根性なし!!特にWin95!同じMDBでぽこぽこ落ちる!!
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル13

ベストアンサー率 46% (643/1383)

>確かにWin2000&Access2000なら難なく2MBが開きます。
>NTは、1MB(仮想メモリをうまく使ってないみたい)。

ってことは、やっぱりOSに依存する問題なのでしょうか…
試しに手元のWin98(SP-1)+Access200(SP-2)でも実験してみました。

…おっと、こっちの環境だと大きな画像でエラーになるみたいですねぇ。
といっても、ハングするわけではなく、「この形式の画像はサポートされない」ってなトラップ可能なエラーになるみたいです。

エラーになる/ならないは、純粋に画像の大きさに依存するようです。1660x1660のデータはOK、1660x1670及びそれ以上のデータはNGでした。
同じ大きさ(1660x1660)で圧縮率を変えて114kと1006kのデータを作ってみましたが、両方ともOKでした。
エンコードをプログレッシブにして試してみましたが、やはりOKでした。

ちなみに、画像処理にはPaint Shop Pro7を使っています。(JPEGはいろいろな「方言」を認めているので、ひょっとしたら画像エディタによっては結果が変わってくるかも…)

ってことで、もしOS依存の問題なのだとしたら、解決策はかなり限られてくると思います。
画像の大きさを小さくするってのが、多分、一番妥当な解決策だと思いますね。

力技で行くとすれば、画像をあらかじめ分割しておき、別々のイメージに(非表示で)読み込ませておく、で、APIを使って表示用のイメージに転送する。とか。(細かいところは聞かンといて下さい。こんな野蛮なことやったことないですから(笑)。)

もしくはVBとかVCとか使って、でっかい画像表示用のActiveXコントロールを自作してしまうとか…(APIで云々するよりもこっちの方が楽そう。)

MSに文句を言うと、そのうちに何とかなったりするかもしれないですが、過去の体験からすると、あんまり期待できないです。

あ☆(←ヒラメキのシルシ)、あらかじめ画像を左右に二分割しておいて、フォーム上にイメージコントロールを二つ並べて配置しておき、別々に読み込ませるっていうのはどうでしょうか。これなら案外うまくいくかもしれませんね。
お礼コメント
boya

お礼率 53% (48/90)

うーん、私には難しいですね。画像を2分割考えときます。
ありがとうございました。
投稿日時 - 2001-05-29 09:18:02
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル13

ベストアンサー率 46% (643/1383)

手持ちのAccess2000(SP-2)+Windows2000(SP-1)で、実験してみました。
試しに1728x1296のBMP画像(6.5MB)を読み込ませてみましたが、正常に読み込めました。
同画像をJpegに変換し、1MBの画像を得まして、それも読み込ませてみたんですが、そっちもOKでした。

容量ではなくてサイズの問題かとも思ったんで、3456x2592のJpegファイル(2.9MB)を用意して、それを読み込ませてみましたが、多少時間はかかったものの、正常に読み込めました。

というわけですのでとりあえず、OS、Accessともに最新のバージョンでは問題は生じないってことになると思います。
複数のOSで同じエラーが出るってことは、OSの問題もとりあえずは除外してもいいかもしれませんね。

ですので、考えられるエラーの原因は、
○Jpegファイルが壊れている。
 →別のグラフィックツールを使って保存しなおせば直るかも。
○Accessの問題
 →サービスパック/サービスリリースの適用で直るかも。
ってなところなんじゃないかなぁ。

  • 回答No.2
レベル13

ベストアンサー率 46% (643/1383)

あ、それと、先ほどの3456x2592の画像を読み込んでる間は、他のアプリ(画像編集ソフト+IE約20枚+α)と合わせて400MB近いメモリを消費していたようです。(読み込み終了後は290MB)

ですので、仮想メモリが使用するHDDの空きとかも、ある程度は確保しておかないといけないみたいですね。

サムネイルについては、別に縮小画像を用意しておいて、同じようにイメージに突っ込んでいけばいいのでは?
お礼コメント
boya

お礼率 53% (48/90)

ありがとうございます。
確かにWin2000&Access2000なら難なく2MBが開きます。
NTは、1MB(仮想メモリをうまく使ってないみたい)。
しかし、Win98SE/95&Access2000では、やはり約200KB程度です。
これを、どーしてもWin95/98で使いたいのですが・・・
MEは、環境がないのでテストできませんでした。
投稿日時 - 2001-05-21 13:40:16
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ