解決済み

「#エラー」を含んでいても、並べ替えができるようになりたい。

  • 暇なときにでも
  • 質問No.5370296
  • 閲覧数66
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 100% (251/251)

テーブル1
A-a
B-b

テーブル2
A-a
C-c

クエリ1
SELECT Replace(テーブル1![1],"-","") AS 1
FROM テーブル1;

クエリ2
SELECT Replace(テーブル2![2],"-","") AS 2
FROM テーブル2;

クエリ3
SELECT クエリ1.[1], クエリ2.[2]
FROM クエリ2 RIGHT JOIN クエリ1 ON クエリ2.[2] = クエリ1.[1];
******************************************************************
各テーブルのクエリを作成し、Replace関数で置換して、
その置換後の各クエリを、さらにクエリを作成して結合しています。

その時に、
テーブル1にはあるのにテーブル2にない値が
「#エラー」となるのですが、
この状態でも並べ替えを出来るようにするにはどうすればいいでしょうか?
他の値にデータ型を変えるのでしょうか?

「#エラー」があるフィールドは並べ替えも出来ないですし、
デザインビューの抽出条件で
「Not Like "#エラー"」
としても
「抽出条件でデータ型が一致しません。」
というエラーになり、データシートビューで表示できません。

アドバイス宜しくお願い致します。

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

  • 回答No.1

ベストアンサー率 54% (67/123)

こんにちは。
私も色々探してみました。テーブル同士でするとエラーが
出ないのに、クエリ同士で連結するとエラーになる。。?

どうやらReplaceを行なった場合にデータが無い状態の際にエラー
が出るようです。
本来であれば質問者の流れにそってベストな回答が
出来れば良かったのですが、力量不足で。。

下記のSQLをクエリ1として、この1クエリだけで
行なってみてください。
そうするとテーブル2に無いエリアは空白となり、A列での
昇順・降順もB列での昇順・降順もなるようです。
(ただし沢山空白がある場合、全てそれが先頭あるは最期に固まり
 ますが)

SELECT Replace(nz([テーブル1]![1],""),"-","") AS 式1, Replace(nz([テーブル2]![2],""),"-","") AS 式2
FROM テーブル1 LEFT JOIN テーブル2 ON テーブル1.[1] = テーブル2.[2];
お礼コメント
bkfirj

お礼率 100% (251/251)

いえいえ。とんでもないです。
色々調べてくださって感謝しています。
Replace関数とクエリの組み合わせが原因のようですね。

提示のSQL文、大変参考になりました。
有難うございました。
投稿日時 - 2009-10-16 21:22:21
感謝経済、優待交換9月20日スタート
AIエージェント「あい」

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

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

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

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

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ