• 締切済み

Access2010で、名簿を作って使っています

Access2010で、名簿を作って使っているのですが。 Access2010で、名簿を作って使っているのですが、 普通の単票形式で、フォームを作って、そこで新規登録したり閲覧したりしています。 その人の顔写真を1データごとに1枚ずつ載せているのですが、 970件を超えたあたりで、いきなりファイルが壊れます。 先に写真以外のデータ(すべて文字)は入力を1000件以上しても、普通に動作しました。 最後に写真だけ貼る作業をしたのですが、970件を超えたあたりで必ず壊れるので、写真が関係あるのかなあ、と勝手に思いまして…。 症状としては、写真を貼って「次のレコード」の繰り返しで貼る作業をしていたのですが、 必ず970件を超えたあたりで「次のレコード」ボタンを押したときに「指定したレコードに移動できません。」と表示されます。 そうなると、もうレコードを移動できません。 仕方がないので閉じようとすると「データベース"を開くことができません。アプリケーションで認識できないデータベースであるか、またはファイルが破損しています。」と出て、 「このレコードを保存できません。」と出ます。 「はい」を押すと強制的に閉じれるのですが、もう一度そのファイルを開くと 「レコードは削除されています。」と出ます。 そしてフォームは開けません。 開こうとすると「レコードは削除されています。」と出ます。 一番メインのテーブルを開いて中を見てみると、 写真が貼れなくなった人(指定したレコードに移動できません。)と表示された時の人のデータが 全項目「#Deleted」になっています。 この症状に身に覚えがある方、 解決方法を知っていらっしゃる方、 おりましたらぜひ、ご教授ください…。 よろしくお願いします。

みんなの回答

  • tamu1129
  • ベストアンサー率58% (1319/2258)
回答No.2

>どのようにやればファイルサイズをもっともっと小さくできますでしょうか? 先の回答でも書きましたが、Accessのフィールドには表示させたい画像のある場所を示すパスを格納するテキストフィールドだけを持たせ、画像自体はフォームに配置させるイメージオブジェクトに、ページを開くごとにパスを格納させたフィールドの値に該当する画像にリフレッシュさせて表示させるような物を作成します 1から書いてゆくと文章長くなるので、手順書かれている方いますので、そのページ紹介します http://www.accessclub.jp/samplefile/samplefile_200.htm これページ以外にも、Accessで画像表示させる時にデータベースファイルにはテキストデータしか持たずに行う方法はたくさん紹介されていますので、色々見て回ってください

  • tamu1129
  • ベストアンサー率58% (1319/2258)
回答No.1

そりゃ壊れますよ Accessの仕様で扱えるデータベースのファイルは最大で2GBなんですから 画像データをテーブルに持つようなデータベース作っていたらパンクします 画像データが入っているファイルのパス情報だけをAccessデータベースに保存させ、そのフォームを開く時に、その情報のデータを読み込んでフォームに表示させるような物作らないと出来ないです

syuyama
質問者

お礼

無知ですいませんでした…。最大で2GBなんですね…。それが原因確定ですね。 写真を貼りたいところで右クリック→オブジェクトの挿入→ファイルから→リンクにチェック→参照 で、1枚1枚ファイルを指定していたのですが、リンクにチェック入れれば負荷が減るのかと思ったのですが、 「画像データが入っているファイルのパス情報だけをAccessデータベースに保存させ、そのフォームを開く時に、その情報のデータを読み込んでフォームに表示させるような物作らないと出来ないです」 ↑これは、そういうことではないということでしょうか?どのようにやればファイルサイズをもっともっと小さくできますでしょうか? よろしくお願いします。