• ベストアンサー

メモ型のデメリットはありますか?

アクセスのテーブルのフィールドで メモ型のデメリットはありますか? 私の記憶によると 並べ替えがテーブル上でできなかった気がしますが それ以外にも制限はありますか?

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

  • ベストアンサー
  • IDii24
  • ベストアンサー率24% (1597/6506)
回答No.1

メモ型というのはオブジェクト型と言われるテーブルとは別の領域に書き込まれるバイナリデーターです。なんでも入る変わりにテーブルフィールドとは違うので検索が容易ではない、大きくなりすぎると壊れる、インディクスがつけられないなど制約が多いです。 つまりAccess程度でこれを多用するとDBが壊れやすくなるということです。 これを本格的に使うものに動画データーベースや画像データーベースなどがあります。これらは数十テラにもなるオブジェクトをタグ付けして管理するようなシーンにつかいますし、大抵はリレーショナルなDBではありません。階層型だったりしますね。 Accessについているものはオマケと思ったほうが良く多用は危険。なるべくStringで納めるのが正しいAccessの使い方です。

GWSRVDKKONPUP
質問者

お礼

ありがとうございました。

関連するQ&A

  • テーブルのデータ型をメモ型にするデメリットは?

    テーブルのデータ型をメモ型にするデメリットはありますか? 文字を300文字くらい入力したいのでメモ型にしようと思うのですが あとあと不便が生じるのであればフィールドを分割してなどの対策をとろうと思うのですが メモ型にデメリットはありますか?

  • アクセスクエリ メモ型だとエラーになる

    アクセスのテーブル1(主キーなし)に *********************************************************** フィールド1(メモ型) あああ いいい ううう いいい *********************************************************** と言うデータがあるのですが 「あああ」「ううう」は1個で「いいい」は2つあります。 これを、クエリ1で *********************************************************** SELECT テーブル1.フィールド1, Count(テーブル1.フィールド1) AS フィールド1のカウント FROM テーブル1 GROUP BY テーブル1.フィールド1; *********************************************************** と作り、 新しいクエリで *********************************************************** SELECT テーブル1.フィールド1, クエリ1.フィールド1のカウント FROM テーブル1 INNER JOIN クエリ1 ON テーブル1.フィールド1 = クエリ1.フィールド1; *********************************************************** としたいのですが、 メモ型ではダメなのでしょうか? メモ型でフィールドを宣言しつつ、 このようなクエリを作るにはどうすればいいですか? テキスト型にすると問題なくいけます。

  • メモ型同士でクエリでつなぐことはできない?

    アクセスのテーブルのデータ型は メモ型同士でクエリでつなぐことはできないのでしょうか? テーブル1 ID 内容(メモ型) テーブル2 ID 内容(メモ型) で、メモ型で同じ文字列が入ってるのが複数あるので それらをクエリでつなぎたいのですが メモ型またはOLEオブジェクト型のフィールドを結合する事ができません。 ってなってしまうのですが、 400文字くらいの値同士をつなげたい場合はどうすればいいでしょうか?

  • access2010でメモ型がインポートできない

    以前のACCESS2000では出来ていたのですが、ACCESS2010(windows7)にバージョンアップしたところ、csvファイルのインポートで、メモ型のデータが255文字までしかインポートできなくなりました。 調べてみたところ、そのフィールドを、クエリなどで使用しているとキャスト(型変換)されるのでメモ型ではなくなり255文字の制限がかかる、との記述がありましたが、新しいテーブルを作成してインポートしてもできませんでしたので、別の原因かと思われます。 また、ACCESS2000のデータを、ACCESS2010の[ファイル]-[保存して発行]・・・・も行い、拡張子を.accdbにしてみましたが、やはり255文字を超えるインポートができませんでした。 インポート時の[設定]のところのフィールドの情報で、メモ型にしてあるフィールド名が表示されていないのが気になりますが。 文字列の引用符は ” にしています。 ACCESSはデータの25行目までを読み込んでデータ型を自動選択している、という記述もあり、1行目のデータに256以上の文字を入れてインポートもして見ましたが255文字で切られてしまいます。 よろしくお願いいたします。

  • アクセス メモ型 255文字以上入れられない

    アクセスでテーブルデザインでメモ型にしています。 そのフィールドには何文字でも入力できるようですが、 そのフィールドをフォームのテキストボックスのコントロールソースにすると なぜか255文字以上入力できません。 テーブルは一度クエリにして、フォームのレコードソースとしています。 ダイレクトにテーブルを開いて、そのメモ型のフィールドに情報を入れることは出来ますが フォームからは255文字以上は入力できません。 これを回避する方法をご教授ください。

  • アクセス メモ型って並べ替えできない?

    データ型をメモ型にして、画像のように▼をクリックすると、並べ替えが選択できないのですが、 そういう仕様なのですか? アクセス2010だからですか?

  • ACCESSデータベースのメモ型フィールドの文字数制限について

    ACCESSデータベースのメモ型フィールドの文字数制限について VB6から、MDBメモ型フィールドにINSERT/UPDATEすると、1000バイトしか登録できません。 ACCESSのバージョンは、97です。 MDBを開いて、手で、メモ型フィールドを更新すると、1000バイト以上、登録できます。 10,000バイトほどのデータを登録したいのですが、どこを確認すればいいのでしょうか。 よろしくお願いします。

  • 「メモ型」をハイパーリンクにしたい(SQL Server ⇔access)

    「SQLサーバーのテーブルを既存のアプリケーションにリンクさせる」 でアクセスのテーブルをSQLサーバーへ移行し そのテーブルを「テーブルのリンク」でアクセスに表示させています。 (地球マークのアイコンが表示される) そのとき 元々アクセスでは「ハイパーリンク型」だったフィールドが、 SQLサーバーへ移行したら「メモ型」に変わりました。 アクセスのときはハイパーリンクをクリックすればURL先に飛べたのですが 「テーブルのリンク」で表示させているデータはメモ型な為、 #http://~# となってしまっています。 これをクエリでもなんでもいいので クリックしてURL先に飛べるようにするにはどうすればいいでしょう? よろしくお願いします。

  • VBからのDAOでメモ型へのアクセス

    Access2000でメモ型を含むテーブルを作成し、VBからアクセスします。 テーブルへの書込みはサイズに関係なく(257バイト以上も)問題なく出来ます。257バイト以上の文字列を書き込んだ後Accessで直接テーブルの内容を確認すると、正常に書き込まれています。 が、257バイト以上の文字列の読み込みを行うと255バイトで切れてしまいます。 テキスト型は255バイトまでで、メモ型は65534バイトまでと思っていたのですが違いますか? 違っているとしたら、60000バイトは必要ありませんが1000文字(2000バイト)くらいは使いたいと思っていますので、フィールドの型と、VBからのアクセスの方法を教えてください。

  • テーブルでメモ型になっているのにクエリで結合ができません。

    Access(OfficeXP)を利用しています。 自分で作成をした2つのテーブルをクエリにて結合をさせようとしているのですが、「メモ型またはOLEオブジェクト型のフィールドを結合することはできません」というエラーが出て、結合ができません。 結合をしようとしているテーブルの一つはインターネットのURLの一部をコピーして利用しているのですが、そのURLが余りにも長く「メモ型」にし、テーブルを作成しました。 どなたかクエリにてうまく結合が出来る方法を伝授してください。

専門家に質問してみよう