SQLコマンドの記述について
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
DDT
投稿数: 55
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
いつもお世話になっております。
SQLコマンドの記述について質問させて頂きます。
ある検索画面があり、親タスクで絞り込みをした結果を子タスク(明細)で表示しています。
そこまでは良いのですが、ボタンを押すと明細を並び変える仕様になっており、子タスクのSQL文にORDER BY句を追加し動的に動作させようとしたのですがうまくいきません。
文章だとうまく伝わらないと思うので例を見て下さい。
SELECT CLM01,CLM02,CLM03
FROM TBL
WHERE CLM01 LIKE ':1'
AND CLM02 LIKE ':2'
AND CLM03 LIKE ':3'
ORDER BY ':4',':5',':6' ←ここが問題の箇所
並べ替え用のボタンを押すと上記の4,5,6のパラメータを入れ替えます。
しかし実行すると[DBエラー 実行された要求はサポートされていません]とメッセージが出て開けません。
一度パラメータを諦め論理値を使いSQL文に
ORDER BY %Logical1%,%Logical2%,%Logical3%
と記述し並べ替え用のボタンを押す度にINIput関数でパラメータを入れ替え様と試みましたがダメでした。
もちろんSQLコマンドを使う事が前提なわけではなく、やりたい事が出来ればどんな形でも構いませんので、皆様のお知恵を少し分けて頂ければと思います。
拙い文章で恐縮ですが、よろしくお願いします。
SQLコマンドの記述について質問させて頂きます。
ある検索画面があり、親タスクで絞り込みをした結果を子タスク(明細)で表示しています。
そこまでは良いのですが、ボタンを押すと明細を並び変える仕様になっており、子タスクのSQL文にORDER BY句を追加し動的に動作させようとしたのですがうまくいきません。
文章だとうまく伝わらないと思うので例を見て下さい。
SELECT CLM01,CLM02,CLM03
FROM TBL
WHERE CLM01 LIKE ':1'
AND CLM02 LIKE ':2'
AND CLM03 LIKE ':3'
ORDER BY ':4',':5',':6' ←ここが問題の箇所
並べ替え用のボタンを押すと上記の4,5,6のパラメータを入れ替えます。
しかし実行すると[DBエラー 実行された要求はサポートされていません]とメッセージが出て開けません。
一度パラメータを諦め論理値を使いSQL文に
ORDER BY %Logical1%,%Logical2%,%Logical3%
と記述し並べ替え用のボタンを押す度にINIput関数でパラメータを入れ替え様と試みましたがダメでした。
もちろんSQLコマンドを使う事が前提なわけではなく、やりたい事が出来ればどんな形でも構いませんので、皆様のお知恵を少し分けて頂ければと思います。
拙い文章で恐縮ですが、よろしくお願いします。
投票数:0
平均点:0.00
kubota
投稿数: 15
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
例の
「ORDER BY ':4',':5',':6'」を
「ORDER BY :4,:5,:6」に変更してみて下さい。
私が試したところエラーメッセージが違いましたが・・・
表示できるようになりました。
「ORDER BY ':4',':5',':6'」を
「ORDER BY :4,:5,:6」に変更してみて下さい。
私が試したところエラーメッセージが違いましたが・・・
表示できるようになりました。
投票数:0
平均点:0.00
DDT
投稿数: 55
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
>kubotaさん
返事が遅くなってしまい大変申し訳ございません。
まず表示項目3,レコード数100位の軽いテーブルを使い、
教えて頂いた事をテストしてみたところ
驚くほどスンナリといき感激しました。
その後、実際に使うプログラムでやってみたのですが表示されず困っていました。
まさかと思いSQLコマンドの結果データベース欄を
MemoryからMicrosoftSQLServerに変更したらうまくいきました。
パラメータでの受け渡しを諦め様々な方法で作っては動かし、
その度に「遅い。重い。」を言われ続けていたので感激です。
ありがとうございました。
返事が遅くなってしまい大変申し訳ございません。
まず表示項目3,レコード数100位の軽いテーブルを使い、
教えて頂いた事をテストしてみたところ
驚くほどスンナリといき感激しました。
その後、実際に使うプログラムでやってみたのですが表示されず困っていました。
まさかと思いSQLコマンドの結果データベース欄を
MemoryからMicrosoftSQLServerに変更したらうまくいきました。
パラメータでの受け渡しを諦め様々な方法で作っては動かし、
その度に「遅い。重い。」を言われ続けていたので感激です。
ありがとうございました。
投票数:0
平均点:0.00