あるフォームで選択・入力された値から抽出を行うようなクエリを作成しました。
空欄でもきちんと抽出されるようにと、下記のようなものを記入しました。

IIf(IsNull([Forms]![検索結果]![rank]),True,[ランク] Like [Forms]![検索結果]![rank])

ですが、実行を行う(空欄で実行)と、「式が複雑すぎです」とエラーがでてしまいます。
実際の値を入力すると、何も抽出されません。

どこが違うのでしょうか?
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

ヘッダー部分で何を検索するか入力し、結果を明細部分に表示するように


しているのでしょうか?

やったことが無いのでできるかどうかわかりません。
私は、検索データを入力するフォームと、検索結果を表示するフォームを
別にしています。

入力するフォーム
検索に使うクエリー
検索に使うクエリーを使用して結果を表示するフォーム
※入力するフォームに「検索」という名前のボタンを作り、このボタンを押すと
検索結果を表示するフォームを開くようにマクロで設定しています。
    • good
    • 0
この回答へのお礼

検索するフォームと表示するフォームを別にするようにしました。
ついでに?レポートでも表示させるようにしました。
おかげでうまく表示させることができました。
何回も質問にお答えくださって本当にありがとうございました。
お世話になりましたm(__)m

お礼日時:2001/12/26 14:20

>フォームで「氏名検索」のところに「田中」と押しても、検索されません。



「氏名検索表示用」に「氏名検索」に入力したデータが反映されているか
確認してください。

検索結果をフォームを使い表示させているのでしょうか?
フォームで使われているクエリーが正しいクエリーか
Like '*' & [Forms]![検索結果フォーム]![名前検索表示用] & '*'
抽出条件にこの条件が書かれているか確認してください。

この回答への補足

はい、きちんと表示されています。

氏名検索に「田中」と入力すると「氏名検索表示用」にも「田中」と表示されます。
(それ以前は「*」となっています。)

検索結果はフォームで表示させています。
「詳細」部分に通常のフィールドを表示し、「フォームヘッダー」に「氏名検索」や「氏名検索表示用」を表示させています。

補足日時:2001/12/26 13:13
    • good
    • 0

「氏名検索」「氏名検索表示用」共にテキストボックスのプロパティの


名前の所がこの名前になってますでしょうか。

Likeのこの検索方法は、元のテーブルがNullでは通用しません。
Nullではなく、空白なら大丈夫だったと思うのですが・・・

あまりお薦めできないのですが、Nullの変わりに空白を入れても
大丈夫でしたら、テーブルの氏名がNullの場合空白にするという
更新クエリーを作り、入力後や変更の後にこの更新クエリーが動くように
しておくと、検索はこのLikeの検索で大丈夫だと思います。

この回答への補足

再度回答ありがとうございます。

> 「氏名検索」「氏名検索表示用」共にテキストボックスのプロパティの
名前の所がこの名前になってますでしょうか。

はい、なっています。

スペースでも大丈夫だと思うのでちょっとチャレンジしてみます。
ありがとうございました。

補足日時:2001/12/25 14:57
    • good
    • 0

フォームでテキストボックスを2つ作り、一つは入力用(「担当者」)


もう一つのテキストボックスのコントロールソースに次のように入力します。
=IIf(IsNull([担当者]) Or IsEmpty([担当者]),"*",[担当者])
(これが入力されたテキストボックスの名前は「担当者1」とします)

検索クエリーのほうは、Likeの検索だけにします。
Like '*' & [forms]![検索]![担当者1] & '*'
手間はかかるかもしれませんが一応これでもできますよ。

この回答への補足

フォームで入力用のものとして「氏名検索」、もうひとつを「氏名検索表示用」としました。
「氏名検索表示用」の方のコントロールソースに
=IIf(IsNull([名前検索]) Or IsEmpty([名前検索]),"*",[名前検索])
としました。

検索クエリーの方で、「氏名」のところに
Like '*' & [Forms]![検索結果フォーム]![名前検索表示用] & '*'
としました。

クエリーの方でたとえとして「田中」と入力すると田中さんすべてが表示されます。
でもフォームで「氏名検索」のところに「田中」と押しても、検索されません。
(フォームにコマンドボタンを作成し、フォームフィルタの実行を行うようにしてあります。)

またクエリーでもそうですが、何も入力しないと、表示されるのが、「氏名」に何かしら文字が入っている人のみになってしまうのです。
名前が空白の人もいるので、空白の人も表示させたいのです。

何かよい解決法はありますか?
よろしくお願いします。

補足日時:2001/12/25 13:28
    • good
    • 0

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

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

このQ&Aと関連する良く見られている質問

Q[Oracle][IBM DB2][SQL Server]の違いと適性

現在、Accessで業務アプリケーションを作成しているのですが、そろそろパフォーマンス的にも限界で、というかC/S環境でAccessを使っていること自体危険ですね…

ここでデータベースをグレードアップしようと思っています。
しかし、データベースと言ってもたくさんあり、どれがいいのか
迷っています。

現在、商用RDBMSでは[Oracle][IBM DB2][SQL Server]がメインとの
ことですが、これらの違いが分かりせん。

うちの規模は社員数が40人程度です
Oracleは大規模システム向けと聞いた事があるのですが、
それであれば、IBM DB2かSQL Serverなのでしょうか

御教授宜しくお願いします。

Aベストアンサー

SEじゃないですけど、現状でどの辺りがボトルネックになっているかまず分析する必要がありますよ、案外ハード(サーバー本体)の方がいっぱいいっぱいてこともありますから、仮にHDDのディスクアクセスの場合シリコンディスクに置き換える、メインメモリの増設などがあります。逆にソフト側(MSアクセス)で同時接続多・同時更新多・データ肥大化の場合はやはりDBエンジンを変更するしかないでしょう。自社で開発するなら(情報量の多い)SQLServer。外注の場合は先方によって得手不得手がありますので一概には言えませんがオラクルでしょうこれしかないです(規模は関係なし)。DB2は使ったことがありません。他にもたくさんデータベースエンジンがありますので・・・

参考URL:http://ja.wikipedia.org/wiki/関係データベース管理システム

Q[SQL]複数のカラムに重複内容を持つデータからREGNO最大値1件抽出し一覧表示したい

お世話になります。
下記の件、ご教授願えるでしょうか。

開発環境:Windows7
使用DB :Oracle11g 11.2.0.1.0

下記のようなテーブルAがあるとします。(REGNOはユニーク)

 REGNO | INFO1 | INFO2 |
―――――+―――――+――――|
  1   |  abc   |  xyz  |
  2   |  def   |  abc   |
  3   |  ghi   | (NULL) |
  4   |  jkl   |   mno   |
  5   |  def   |  pqr   |

INFO1,2に着目し、重複データがあれば、大きい方のREGNOを取得したい。
例:
INFO REGNO
abc 2
xyz 1
def 5
ghi 3
jkl 4
mno 4
pqr 5

と言うような結果を得たいのですが、ご教授願えるでしょうか。

何卒宜しくお願い致します。

お世話になります。
下記の件、ご教授願えるでしょうか。

開発環境:Windows7
使用DB :Oracle11g 11.2.0.1.0

下記のようなテーブルAがあるとします。(REGNOはユニーク)

 REGNO | INFO1 | INFO2 |
―――――+―――――+――――|
  1   |  abc   |  xyz  |
  2   |  def   |  abc   |
  3   |  ghi   | (NULL) |
  4   |  jkl   |   mno   |
  5   |  def   |  pqr   |

INFO1,2に着目し、重複データがあれば、大きい方のREGNOを取得したい。...続きを読む

Aベストアンサー

横からですが、もしかしたら動かないかも
SELECT MAIN.REGNO
, CASE WHEN Q.INFO = MAIN.INFO1 THEN MAIN.INFO1 ELSE MAIN.INFO2 END AS INFO
, MAIN.DATE
, MAIN.TIME
FROM [テーブル] AS MAIN
JOIN (
SELECT INFO,MAX(REGNO) AS REGNO
FROM (
SELECT INFO1 AS INFO, REGNO
FROM [テーブル]
UNION ALL
SELECT INFO2, REGNO
FROM [テーブル]
) Q
GROUP BY INFO
) Q
ON MAIN.REGNO = Q.REGNO
;

Q「[Microsoft][ODBC SQL Server Driver]COUNT フィールドが正しくありません。」えらーについて

おせわになります、

JavaからMSDEに対してSELECT UPDATE等の処理を行っているのですが。以下のSQLエラーが出てしまいます。
どのような意味なのでしょうか?
雰囲気としてはUPDATE文でおこっているような感じなのですが…

----エラーメッセージ------
[Microsoft][ODBC SQL Server Driver]COUNT フィールドが正しくありません。

よろしくお願いします。

Aベストアンサー

こんな情報がありましたという報告です。

「COUNT フィールドが正しくありません。」
で、検索をしたら同じような事例がありました。

2件ほどヒットしたのですが、どちらもテーブルのフィールド名を英数字にすることで解決しているようでした。

何故かというのは私にもわかりません。
お役に立つと良いのですが・・・

ちなみにヒットしたのは、「Goo」と「Google」です。
一度調べてみてください。(個人の情報っぽいのでURLは載せません。)

Q[SQL]重複内容を持つデータから1件抽出かつ複数のカラムを表示したい

[SQL]重複内容を持つデータから1件抽出かつ複数のカラムを表示したい

初めてお世話になります。

データベース種別はH2です。
参考:http://www.h2database.com/html/main.html

下記のようなテーブルAがあるとします。

  ID  |  TAG  |
―――――+―――――|
  1   |  abc   |
  1   |  def   |
  1   |  ghi   |
  2   |  abc   |
  2   |  ghi   |
  3   |  abc   |
  3   |  def   |
  3   |  ghi   |
  4   |  abc   |


上記テーブルAから下記例のような結果を得られるSQLを知りたいのです。

  ID  |  TAG  |
―――――+―――――|
  1   |  abc   |
  2   |  abc   |
  3   |  abc   |
  4   |  abc   |

上記結果でなくとも、


  ID  |  TAG  |
―――――+―――――|
  1   |  def   |
  2   |  ghi   |
  3   |  def   |
  4   |  abc   |

であっても構いません。(TAG列のデータはどんな内容でもよいです。)

実現させたいのは、
(1)ID列が重複しない結果を表示させたい、
かつ
(2)TAG列も表示させたい
ということです。

これでイケるだろ!と思ってあえなく失敗したSQLは下記です;
select distinct(ID), TAG from A


宜しくお願い致します。

[SQL]重複内容を持つデータから1件抽出かつ複数のカラムを表示したい

初めてお世話になります。

データベース種別はH2です。
参考:http://www.h2database.com/html/main.html

下記のようなテーブルAがあるとします。

  ID  |  TAG  |
―――――+―――――|
  1   |  abc   |
  1   |  def   |
  1   |  ghi   |
  2   |  abc   |
  2   |  ghi   |
  3   |  abc   |
  3   |  def   |
  3   |  ghi   |
  4   |  abc   |


上記テーブルAか...続きを読む

Aベストアンサー

H2を知らないケド。Oracleだったら。

select ID, MIN(TAG) from A
GROUP BY ID
ORDER BY ID

ではどうでしょう?


select ID, MAX(TAG) from A
GROUP BY ID
ORDER BY ID
もお試しください。

Q[ACCESS][レポート]2列に印刷がしたい

ACCESSのレポートで、ひとつのテーブルの内容を、2列に印刷することは可能でしょうか?
たとえばA4ヨコの用紙で、印刷する項目が3つしかなかった場合、右に余白ができてしまうので、印刷する項目が用紙の下までいったら、次に右上からもう一列印刷をする、というようなことを実現したいのです。

Aベストアンサー

先日同じ質問に回答しました。

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=250509


人気Q&Aランキング

おすすめ情報