(現在 過去ログ92 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■13709 / inTopicNo.1)  複数のor結合文
  
□投稿者/ いぶけん -(2023/03/22(Wed) 13:13:57)
    桐10sです


    1.行制約式を下記のように設定して、多分正常に動作していると思われるのですが、
      2月・4月・6月・9月・11月をor結合してスッキリさせたいのですがどうもうまくいきません。
      とりあえずは、閏年は考えていません。
    「月」のどの部分に()を入れればいいのでしょうか?

    #条件選択( [月]=2, [日]≦29,
    [月]=4 .or [月]=6 .or [月]=9 .or [月]=11, [日]≦30,
    1, [日]≦31
    )


    2.上記行制約式を[日]にしておりますが、[備考]等どの項目に記入してもよろしいのでしょうか?


引用返信 [メール受信/OFF] 削除キー/
■13713 / inTopicNo.2)  Re[1]: 複数のor結合文
□投稿者/ ONnoji -(2023/03/23(Thu) 12:21:04)
    > 2.上記行制約式を[日]にしておりますが、[備考]等どの項目に記入してもよろしいのでしょうか?

    以下の[桐 - ヘルプ]を読むと・・・

     桐 - ヘルプ

      表定義
       └項目属性
         └制約
          └[行制約式]

      項目属性 - [制約]タブ

      表に登録できるレコードを制限するには、条件式を入力します。[式入力]エディタを使用して条件式を入力するには をクリックします。
      行制約式を使用すると、項目に登録できる値を他の項目値と比較したり、項目の関係を指定して矛盾するデータの登録を防止できます。
      この制約は、レコードの編集が終了した時点で評価されます。
      行制約式に違反した場合、その制約が設定されている項目に移動します。
      ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・                            
      ↑
    このように”行制約式に違反した場合、その制約が設定されている項目に移動します。”とありますので、

    [日]ではない項目にセットすると、的外れの項目がフォーカスされますよ。


引用返信 [メール受信/OFF] 削除キー/
■13714 / inTopicNo.3)  Re[2]: 複数のor結合文
□投稿者/ ONnoji -(2023/03/23(Thu) 12:49:34)
    2023/03/23(Thu) 13:35:13 編集(投稿者)

    > 1.行制約式を下記のように設定して、多分正常に動作していると思われるのですが、
    >  2月・4月・6月・9月・11月をor結合してスッキリさせたいのですがどうもうまくいきません。

    正しくストレートな条件なので、これはこれでOKじゃないですかね???

     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

    p.s.

    老婆心ながら

    表定義の行制約式で、入力を制限することが出来ますね。
    しかし、…

     KD1925:値が行制約条件に違反しています
    [日]
         [OK]

    というメッセージボックスから、
    果たして利用者が日付を修正すればよいと気が付くでしょうか??
    こういうのは、慣れていない利用者が前へ進めずに立ち往生してパニックになる恐れが非常に高いのですね。
           ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    制約式は、設定したその人自身には、違反メッセージの意味が理解できますが、
    オペレーションを任された人には理解できない場合があると思いますよ。
    なので、当方は制約式の代わりにエラーに該当する項目値を赤色等で警告するようにしています。

    また、利用者の入力作業のリズムを狂わせるという理由もあり、やはりオススメしませんよ。
    利用者の入力作業のリズムは大切です。
    ・・・・・・・・・・・・・・・・・
    正確無比にキーボードを打てる人はまず居ません。誰でも指が滑って別のキーを打つものですよ。
    色を変えるだけで、利用者は十分気が付くはずですよ。

    [項目制約式]と[行制約式]のどちらでも同じですが、制約に違反した場合に表示されるメッセージを読んで、意味が判る人は本当に少ないと思いますよ。
    特に、初級者が表を操作している場合には、制約違反のメッセージを見てパニックを起こす人がいるだろうと思います。
    制約違反の入力値を削除すれば制約違反のメッセージは消えますが、
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
    もしも、それに気が付かないと、桐のタスクを殺すとか、パソコンの電源を強制的に落とすとか、いろいろ心配なことがあります。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    過去ログを参考にしてください
    こちら
     ↓
    過去ログ 桐質問掲示板
    http://tayu.o0o0.jp/bbs/kiri/srch.cgi?no=0&word=%90%A7%96%F1%8E%AE+ONnoji&andor=and&logs=all&PAGE=20

    フォームの場合にはこちら
     ↓
    過去ログ24 桐質問掲示板
    http://tayu.o0o0.jp/bbs/kiri/cbbs.cgi?mode=al2&namber=3650&no=0&KLOG=24



引用返信 [メール受信/OFF] 削除キー/
■13715 / inTopicNo.4)  Re[1]: 複数のor結合文
□投稿者/ ONnoji -(2023/03/23(Thu) 20:16:43)
    2023/03/23(Thu) 21:04:30 編集(投稿者)

    >   2月・4月・6月・9月・11月をor結合してスッキリさせたいのですがどうもうまくいきません。
    >   とりあえずは、閏年は考えていません。
    > 「月」のどの部分に()を入れればいいのでしょうか?
    >
    > #条件選択( [月]=2, [日]≦29,[月]=4 .or [月]=6 .or [月]=9 .or [月]=11, [日]≦30, 1, [日]≦31 )

    ↑上の式でも分かり易いから良いと思いますがね・・・

    どうしてもスッキリしたいと仰るのならば以下の式はいかがでしょうか???

     [日] ≦ #日( #月末( "2020年" + #str([月]) ) )

    なお、"2020年" はうるう年であればOKで、"2024年" でも "2028年" でもOKです。

    これは、2月の月末が29日になるための値です。

    p.s.

    なお、提示した式は意味がワカリニクイでしょう。
    直感的に分かりにくい式はトリッキーなのでお勧めしませんけれど。
    後日見た時に、短い式のために直ぐに意味が分からないのは欠点です。
    それよりも、式が長くなっても愚直でも分かり易い式の方が優れていると思いますよ。

引用返信 [メール受信/OFF] 削除キー/
■13716 / inTopicNo.5)  Re[2]: 複数のor結合文
□投稿者/ いぶけん -(2023/03/23(Thu) 21:10:11)
    ONnoji様

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


    [項目の表示条件][条件編集]はよく利用しておりましたが、
    エラーメッセージの代用とするのは目から鱗でした。
    確かにこちらの方が入力者にとっては理解しやすい仕様ですね。


    >[日]ではない項目にセットすると、的外れの項目がフォーカスされますよ。
    確かにそのとおりですね。


    ありがとうございました。

解決済み!
引用返信 [メール受信/OFF] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -