PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
5006 99/02/08 08:11:51 RE(1):PB5.0.02: DATE型表示書式の変更について By リエッチ
5002 99/02/07 06:33:25 PB5.0.02: DATE型表示書式の変更について By Tishi

カテゴリ:データベース
日付:1999年02月08日 08:11 発信者:リエッチ
題名:RE(1):PB5.0.02: DATE型表示書式の変更について

Tishiさん、おはようございます。リエッチです

>データウィンドウのDATE型のフィールドに入力を行う際、\"/\"等を入力せずに数値のみを
>入力し、入力確定のタイミングで”YYYY/MM/DD\"フォーマットでの表示を行いたいのです。
>入力は6桁及び8桁どちらでも可としたいと考えています。

私の考えですが、こういった場合、入力するカラム自体がdate型なのですから
「編集様式」?「エディットマスク」?YYMMDD
「表示書式」?YYYY/MM/DD
でよいのかと思います。編集様式を駆使すれば、表示形式にこだわらない
入力ができます(入力は和暦で、表示は西暦など・・)
この時の動きは、実行していただければ分かると思いますが、カラムにフォーカスが
当たったとき「990208」と入力し、カラムからフォーカスが抜けると「1999/02/08」
という表示にチェンジします。この仕様ではだめなんでしょうか?

>私の考えでは、まず、データウィンドウのカラムの表示書式を\"YYYY/MM/DD\"に設定し、
(中略)
>しかし、ItemChangedでカレントカラムに編集後の値をセットすることができません。

この方法だと、Itemchangedイベントの定義をご覧になれば分かると思いますが
「データウィンドウ上のフィールドが修正された後で、フォーカスを失うとき」に発生する
イベントです。つまりカラム自体のデータがまだ確定されていないため、データを
セットしても修正する前の値に戻ってしまうと思います
もし「Itemchangedイベント」でデータを編集するなら、このイベントが終わってから
データの編集を行わないと出来ないわけです
ユーザーイベントを作成して、Itemchangedイベントで、そのイベントを「post」する
しかないでしょう。

しかしながら、そのカラムは日付型なのですから、Tishiさんがおっしゃるような
(入力されたデータを四桁の年にして、スラッシュを挿入する方法?)
データを編集するということは、文字型にしないと出来ないと思います
もしやるとするならば、データ編集ではなく、動的に表示書式を変える方法でしょう
それでしたら、カラムのプロパティの「format」で式を記述すればいいわけで・・

わたしは最初のやり方の方をおすすめします。スクリプトは書かなくてもいいですし (^o^)

ではでは

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows95
DBMS Oracle SQL*Net 2.3
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.