PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
5201 | 99/02/24 13:42:48 | RE(5):Where句の動的変更 By かどきち |
5200 | 99/02/24 13:28:37 | RE(4):データウィンドウのSQL文のWHERE句を動的に変更する(2) By まこと |
5197 | 99/02/24 12:29:28 | RE(3):Where句の動的変更 By リエッチ |
5196 | 99/02/24 12:22:08 | RE(2):データウィンドウのSQL文のWHERE句を動的に変更する(2) By M.M |
5194 | 99/02/24 12:15:44 | RE(1):データウィンドウのSQL文のWHERE句を動的に変更する(1) By M.M |
5186 | 99/02/24 11:18:36 | PB6: Where句の動的変更について質問します。 By かどきち |
カテゴリ:スクリプトの記述
日付:1999年02月24日 12:29 発信者:リエッチ
題名:RE(3):Where句の動的変更
かどきちさん、またまたこんにちは。リエッチでーす
>スプリクトの中で データウインドウのWhere句を動的に変更したいのです。
>データウインドウをいくつも作る(Where句だけ違う)
>という方法は使いたくないのですが何かよい方法はないでしょうか?
>電子会議室で過去ログを見たのですが引数の部分がエラーになってしまい
>Modifyの時点でエラーになってしまいます。
まず、初歩的な確認なので、もしご存じでしたらごめんなさい
下記と同様のWHERE句を作成するばあいに気を付けなくてはならないことは・・
・データウィンドウに既にWHERE句が入っていないか?
・検索引数は「wk_date1/wk_date2」ともに定義してあるか?
・「ORDER BY 句/GROUP BY 句/HAVING 句」など、既に指定されているものはないか?
・describe(\"DataWindow.Table.Select\")を使用して、データウィンドウの既存構文を
取っているか?
・SetTransObjectを上記の構文を取る前に実行しているか?
上記のことを確認し、データウィンドウの「syntax」が「FROM句」で終わっているか
目で確かめて見ることをおすすめします。
(もし、上記の構文が既に入っている状態でしたら、またちがった動的変更をしなくては
なりません)
で、本題ですが、私の方では下記の方法は以下の用にやっています
\"WHERE ( ~\"J_KIHONLIST~\".~\"SEINEN_DT~\" = :ldt_1 ) OR
( ~\"J_KIHONLIST~\".~\"SEINEN_DT~\" = :ldt_2 ) \"
こういった文章になるように、デバッグモードで最終的に作った文字列を
確認することをおすすめします。
また、検索引数を使わずに直接日付の値を載せるのも良いかも知れません
WHERE句の動的変更は、ひたすらデバッグモードで確認あるのみです。
「ティルダー」がかけていたり、「and」が抜けていたり、人目でわかりますから
ではでは!
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows NT 4.0
DBMS Oracle SQL*Net 8
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.