• 締切済み

クリスタルレポートで検索条件を絞って表示させたい

VB.NET2003・CrystalReport(付属)・Access2002で環境を構築してます。 テーブル名 タイトル 列名   データ型 ------------------ 番号   整数型   主キー 名称   テキスト型 フラグ  整数型 (1)全てのデータをフラグの降順で求めるのはSQLですと、 select * from タイトル Order By 番号 desc だと思います。 (2)フラグが0以外のデータを求めるのはSQLですと、 select * from タイトル where フラグ <> 0 だと思います。 CrystalReportですと、基本的には select * from タイトル で表示されます。 (1)・(2)のように表示させるにはどうしたらよいのでしょうか?     

みんなの回答

  • kero_mio
  • ベストアンサー率90% (94/104)
回答No.1

テーブルでアクセスさせるんじゃなく、Access上に、 「select * from タイトル Order By 番号 desc」という 「クエリー」を作っておき、CrystalReport上では、 「select * from 作ったクエリー」でアクセスさせれば 良いと思います。試してみてください。

tocci_pc
質問者

お礼

返事が遅くなりすいません。 select * from クエリで出来ることは確認済みです。

関連するQ&A

  • sqlのwhereで指定した条件の前後を取得したい

    テーブル=T) KEY DATA 001 あ 002 い 003 う 004 え 005 お SQL) SELECT DATA FROM T WHERE KEY = 003 ; 上記のSQLでは、「う」のデータしか取得できませんが、 「003」の前後1件、合計3件の「い」「う」「え」を取得する方法を教えて下さい。 ちなみに、 SELECT DATA FROM T WHERE KEY >= 003 AND ROWNUM <= 2 と SELECT * FROM ( SELECT DATA FROM T WHERE KEY < 003 ORDER BY KEY DESC ) WHERE ROWNUM < 1 のUNIONでは上手く行きませんでした。 よろしくお願いします。

  • mysql内データ検索結果の表示順について

    mysql内のデータを条件検索する時、検索結果の表示順を指定します。 新着順(id降順)で指定する場合のエラーについてアドバイスをいただけないでしょうか。 例えば、DB内データを降順で全件表示する場合は、 $query = "SELECT * FROM テーブル名 ORDER BY id DESC"; とすることでできると思います。 そこで、条件検索で結果表示をする場合は、上記の通りにしてもエラーが発生します。これについてのコードは以下のような感じです。 $query = "SELECT * FROM テーブル名 ORDER BY id DESC"; $where = array(); if (isset($_GET['area'])and($_GET['area'] !== '')) { $where[] = sprintf("(area='%s')", mysql_real_escape_string($_GET['area'])); } if (count($where) <> 0) { $query .= ' where ' . implode(' and ', $where); } これは、ORDER BY id DESCを書く位置が悪いのでしょうか? order by句は$query = select ~~~のあとに付けるという認識だったのですが、場合によって間違いとなるということなのでしょうか。 アドバイスをいただければ幸いです。

    • 締切済み
    • PHP
  • 複数のSELECT文の結合について

    $sql = "(SELECT * FROM hospytal WHERE shochi LIKE \"%$keyword%\") UNION (SELECT * FROM hospytal order by kuchikomi desc);"; // 口コミ数の降順 このSQL文は間違っているでしょうか。 やりたいことは、hospytalテーブルのshochiカラムでキーワードを含むものを、 降順にソートしたいのですが。 どうすればちゃんと動作するのか、ご教授お願い致します。

    • ベストアンサー
    • MySQL
  • 検索について

    検索について SELECT * FROM テーブル名 WHERE 列名 LIKE '条件' を使って検索できるプログラムを作りました。 これにORの条件で列名を追加したいのですが可能でしょうか? 「条件が列名1と列名2のどちらかにあてはまる」といったような。 回答お待ちしています。

    • ベストアンサー
    • MySQL
  • SQLでの前検索・後検索

    はじめまして。 SQL初心者です。宜しくお願いします。 使用DBはMSSQL又は、Accessです(テスト中) まず、下のようなテーブルがあります。 (テーブル名 Tabel1) (フィールドは全てstring型) [ Date ][ No ][Data1][Data2] ... [20040808][0001][ 1 ][ 2 ] ... [20040808][0002][ 2 ][ 3 ] ... [20040809][0001][ 3 ][ 4 ] ... 検索キーは[Date]と[No]を使用しています。 そして、例えば、[20040809][0001]を検索し、そのデータの一つ前のデータを取得したい場合、次のようなSQLを使用しました。 SELECT TOP 1 * FROM Table1 WHERE DATE + NO < '200408090001' ORDER BY DATE + NO DESC しかし、この検索は、前データが膨大に存在した場合に(テストでは数万件)、検索時間がかなり長くなるようでした。 もっと良いSQLコマンド、または対処法がありましたら御教授の程宜しくお願い致します。

  • SQLの外部結合について教えて下さい

    いつもお世話になっています。 SQL構文の外部結合が分らなくて困っています。 どうか教えて下さい。 JSPからString Nam = (request.getParameter("param"));で値を受け取ってその値でT_Tableと一致するデータのSQLを実行します。 SELECT * FROM T_Table where ID='"+ Nam +"' order by 日付 desc この結果とT_TableAの「番号」というフィールドと一致する問い合わせのSQLが分りません。自分なりに考えて作りましたがHTMLの部分の表示だけでレコードが表示されないので間違っているのだと思います。 色々調べてみましたが該当のサンプルがなかったので困っています。 教えて下さい!宜しくお願い致します。 【自分で作成してみたSQLです】 テーブルはSQL Serverです。 "SELECT * FROM T_Table where ID='"+ Nam +"' INNER JOIN where ID='"+ Nam +"' ON [T_Table].[番号] = [T_TableA].[番号] order by 日付 desc"

    • ベストアンサー
    • Java
  • 置換変数とLIKE条件

    SQL文で「SELECT * FROM テーブル名 WHERE 列名 LIKE = '&%'」で実行するとレコードは選択されませんとなり、変数をの入力もできません。 置換変数とLIKE条件は一緒に使えないのでしょうか?

  • 日付検索で0000-00-00 00:00:00を除外したい

    日付検索で0000-00-00 00:00:00を除外したい mysql5.0 データ型はdatetimeで日付検索をしたのですが、 日付が"0000-00-00 00:00:00"で登録されているデータも 検索結果に表示され困っています。 例えば、 SELECT * FROM user_tbl WHERE (DATE( hizuke ) <= '20100505') →これだと、hizukeが0000-00-00 00:00:00のデータも表示されてしまいます。 日付が0000-00-00 00:00:00で登録されているデータを除外するため 自分もいろいろしてみたのですができません。どなたか教えていただけないでしょうか。 参考までに、自分が試したsql文を書きます。↓ SELECT * FROM user_tbl WHERE (DATE( hizuke ) <= '20100505') and (hizuke != '0000-00-00 00:00:00') SELECT * FROM user_tbl WHERE (DATE( hizuke ) <= '20100505') and (hizuke <> '0000-00-00 00:00:00') SELECT * FROM user_tbl WHERE (DATE( hizuke ) <= '20100505') and (hizuke not in ('0000-00-00 00:00:00')) →上記載のsqlはすべて検索件数が0になってしまいました。 もうわからなくなってしまったので、アドバイスお願いします。

    • ベストアンサー
    • MySQL
  • mysql - 出力を縦表示

    mysql - 出力を縦表示にしたいのです。 $sql = "SELECT * FROM tensudb where kokugo >= 90 ORDER BY kokugo DESC,suugaku DESC,eigo DESC"; 上記を $sql = "SELECT * FROM tensudb where kokugo >= 90 ORDER BY kokugo DESC,suugaku DESC,eigo DESC" \G とすればよいとありましたが、エラーがでて表示できません。 どこがいけないかご教授ください。 また、結果表示する際の項目をどのように組めばよいかも教えていただけると幸いです。 普通だと      国語 数学 英語 Cクン  97 74 80 Bクン 95 34 80 Aクン 93 40 79 Sクン 92 80 60 表示されると思いますが、以下のように表示させたいのです。    Cクン Bクン Aクン Sクン 国語 97    95   93   92 数学 74    34   40   80 英語 80    80   79   60 国語、数学、英語のソースの書き方もお願いします。 <table> <tr><td>国語</td></tr> <tr><td>数学</td></tr> <tr><td>英語</td></tr> </table>になってしまいますが・・・ よろしくお願いします。

    • ベストアンサー
    • MySQL
  • SQLの結果が返ってこない

    PHP+mysqlで以下のようなSQL文で処理を行ったのですがデータが返ってきません。 $sql = 'SELECT * FROM books WHERE id=3'; $recordSet = mysql_query($sql); if(mysql_fetch_assoc($recordSet)){ while ($table = mysql_fetch_assoc($recordSet)) {        処理     } } mysqlの画面で SELECT * FROM books WHERE id=3 を入力してみるとしっかりと結果が返ってきます。 ちなみに1行目を、違うテーブルの $sql = 'SELECT * FROM podcast WHERE code=3 ORDER BY dcdate DESC LIMIT 0,3'; にしてみると、データが表示されます。 2日間かけてずっと試行錯誤してみたのですが、完全に行き詰ってしまったので、何か考えられる原因はありませんでしょうか。 よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう