dポイントプレゼントキャンペーン実施中!

Access(OfficeXP)を利用しています。
自分で作成をした2つのテーブルをクエリにて結合をさせようとしているのですが、「メモ型またはOLEオブジェクト型のフィールドを結合することはできません」というエラーが出て、結合ができません。

結合をしようとしているテーブルの一つはインターネットのURLの一部をコピーして利用しているのですが、そのURLが余りにも長く「メモ型」にし、テーブルを作成しました。

どなたかクエリにてうまく結合が出来る方法を伝授してください。

A 回答 (6件)

ANo.4で回答したものです。


前回、別の事例の回避策だったので、あらためて解決策を書いておきます。
自分の同様の問題で引っかかりましたが、これで解決させました。

ただし、255サイズ以上のデータは切り捨てられるかもしれません。
自分がAccess2003を用いて、300サイズで試したときは切り捨てられませんでしたが、一応、念のため。

<手順>
(1)対象テーブル全フィールドを入れた新規クエリを作成する。
(2)(1)で作成したクエリをデザインビューで開き、メモ型のフィールド名の部分を、CStr([フィールド名])として、いったんクエリを保存。
(3)対象テーブルは用いずに、(2)で作成したクエリを結合に用いて、抽出クエリを作成する。

以上です。
    • good
    • 3

ANo.4です。


前回、ちょっと異なる事例の場合での回避策を回答してしまいました。

別の解決策を再度、回答されていただきます。
自分も同様のパターンで引っかかっていましたが、これで解決しました。
ただし、メモ型をテキスト型に変換するため、255サイズ以上のデータは切り捨てられるかもしれません。
(Access2002において、300サイズで試してみまたところ、切り捨てられずに正常な数で抽出はされていたようでしたが)

(1)対象テーブル(メモ型のフィールド含む)の全フィールドを入れた新規クエリを作成する。
(2)作成したクエリをデザインビューで開き、メモ型のフィールド名のところを、CStr([フィールド名])とし、保存する。
(3)対象テーブルは用いずに、(2)で作成したクエリを結合対象に用いて、新たにクエリを作る。

以上です。
    • good
    • 2

自分も同じことで引っかかりました。


以下に回避策があるので試されてみてはいかがでしょう?
http://support.microsoft.com/kb/896950/ja

参考URL:http://support.microsoft.com/kb/896950/ja
    • good
    • 1

#1回答者が指摘しているように、メモ型は仕様としてキーに出来ません。

しかしURLならば2バイト文字を含まないとはずですから、長過ぎるならば255バイトずつ切り分けて結合を取れば良いと思います。
INNER JOIN Table AS Table_1 ON (Table.URL2 = Table_1.URL2) AND (Table.URL1 =Table_1.URL1)
    • good
    • 1

こんばんは!


>そのURLが余りにも長く「メモ型」に

実際には何文字くらいですか?
テキスト型の場合最大255までいけるので、通常のURLなら十分だと思うのですが。
    • good
    • 0

確かにURLは重複しないのでキー項目にするのは


なかなかいいアイデアかも知れませんね。
ただメモ型が結合できないのは仕様ですので
他のものをキーにするべきだと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A