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

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

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

■5066 / inTopicNo.1)  前月の21日以降 とは?
  
□投稿者/ たくやん -(2009/09/09(Wed) 23:23:41)
    いつも参考にさせて頂いております。
    簡単な内容かもしれませんが、質問させてください。

    if([日付]> "前月の21日")  という感じで使いたいのですが、
    入力日(行追加後)の、前月の21日以降、とはどのように書けばよいのでしょうか?
    年が変わっても(1月の場合は前年の12月)使えることが必要です。

    よろしくお願いします。
引用返信 [メール受信/OFF] 削除キー/
■5067 / inTopicNo.2)  Re[1]: 前月の21日以降 とは?
□投稿者/ 通りすがり -(2009/09/09(Wed) 23:39:31)
    今月の21日 は出せるかい?
    #月数加算 で1カ月戻す
引用返信 [メール受信/OFF] 削除キー/
■5070 / inTopicNo.3)  Re[1]: 前月の21日以降 とは?
□投稿者/ 尾形 -(2009/09/10(Thu) 00:13:47)
    > if([日付]> "前月の21日")  という感じで使いたいのですが、
    どこに設定するのでしょうか
    もしこれを項目制約式に書くおつもりならば
    ヤバイ気がしますけど

引用返信 [メール受信/OFF] 削除キー/
■5071 / inTopicNo.4)  Re[2]: 前月の21日以降 とは?
□投稿者/ たくやん -(2009/09/10(Thu) 01:36:04)
    今村さん、通りすがりさん

    #日時値生成( #年( #年月日 ) , #月( #年月日 )-1 ,21)

    で可能になりました。
    表に日付2をつくりそこで計算させて、フォーム上で比較し判定しています。(日付2は非表示)
    イベントで使う場合、よい方法(書き方)はあるでしょうか?
    現在は、
      if([日付]> [日付2])  
      メッセージ  ・・・・・
      end
    としています。
    [日付2]の箇所に、#日時値生成( #年( #年月日 ) , #月( #年月日 )-1 ,21) をかいてもうまく作動しませんでした。


    尾形さん
    > もしこれを項目制約式に書くおつもりならば
    > ヤバイ気がしますけど
     
    イベントで使用します。
    間違って先月の締め日以前の日付を入力させないため、メッセージでその旨表示しようと思っています。
    なにか不都合がありますでしょうか?

引用返信 [メール受信/OFF] 削除キー/
■5078 / inTopicNo.5)  Re[3]: 前月の21日以降 とは?
□投稿者/ 尾形 -(2009/09/11(Fri) 07:43:04)
    >なにか不都合がありますでしょうか?
    イベントであれば、柔軟に対応できると思いますけど
    もし、先月の日付のデータに対して編集モードに
    入った時に困った状況にならないといいけど
    と思っただけです

引用返信 [メール受信/OFF] 削除キー/
■5079 / inTopicNo.6)  Re[3]: 前月の21日以降 とは?
□投稿者/ 通りすがり -(2009/09/11(Fri) 10:42:45)
    > イベントで使う場合、よい方法(書き方)はあるでしょうか?

    ヘルプで似たのを探す

    郵便番号を入力したあと、入力した文字列の桁数が 8 文字を越えていたら、メッセージを出して再入力させます。
    この例では、郵便番号を再入力させるために、このハンドラの &入力継続 に 1 を代入しています。

    手続き定義開始 郵便番号::入力後( 参照 文字列 &編集文字列,長整数 &モード,参照 長整数 &入力継続 )
    変数宣言 整数{ &編集文字数 = #桁数( &編集文字列 ) }
     if ( &編集文字数 > 8 )
       メッセージボックス "[郵便番号]",\
           "入力した郵便番号が、8 桁を超えています。",\
           アイコン = i
       &入力継続 = 1
     end
    手続き定義終了

引用返信 [メール受信/OFF] 削除キー/
■5081 / inTopicNo.7)  Re[4]: 前月の21日以降 とは?
□投稿者/ たくやん -(2009/09/16(Wed) 23:15:19)
    通りすがりさん、

    遅くなりました。
    かなり悩んでいるのですが、前月の21日の式はこれであっているのでしょうか?
    表の計算式では、希望通りですが、イベントではすべての日でメッセージが出てしまいます。
    頭が固くなってきて何が悪いのか、分からなくなってしまいました。

      #日時値生成( #年( #年月日 ) , #月( #年月日 )-1 ,21)
          → 表ではOK
      &日付check=#日時値生成( #年( #年月日 ) , #月( #年月日 )-1 ,21) 
          → イベントではだめ?

    kev
    変数宣言 日時{&日付check}

    手続き定義開始 t日付::入力後(参照 文字列 &編集文字列,長整数 &モード,参照 長整数 &入力継続)
        &日付check=#日時値生成( #年( #年月日 ) , #月( #年月日 )-1 ,21)
      if([日付] < &日付check)
           メッセージボックス "[日付]",\
           "日付が異常です。",\
           アイコン = i
        &入力継続=1
      end
    手続き定義終了

    どこを直せばいいのでしょうか?
引用返信 [メール受信/OFF] 削除キー/
■5082 / inTopicNo.8)  Re[5]: 前月の21日以降 とは?
□投稿者/ 通りすがり -(2009/09/17(Thu) 00:05:14)
    >   if([日付] < &日付check)

    イベントの時点では、データソースの[日付]には入力した文字列が入る前だから、
    新規行だとデータ入って無いので、このif条件は必ず真になっちゃう

    &編集文字列 を日時型に変換して比較するとか

    PS.
    > 前月の21日の式はこれであっているのでしょうか?
    それだと、**年1月では困るかと
引用返信 [メール受信/OFF] 削除キー/
■5083 / inTopicNo.9)  Re[5]: 前月の21日以降 とは?
□投稿者/ 今村 誠 -(2009/09/18(Fri) 01:31:24)
    2009/09/18(Fri) 12:35:21 編集(投稿者)

    例えば今月19日を入力したい場合
    「19」だけでH21/9/19 と成りますが入力後イベントでは
    年と月が入っていないので判定式が大変です。

    手続き定義開始 t日付::ソース値更新()
    /* 入力後イベントでは文字列なので誤った日時値の判定が面倒です。桐に任せましょう */
    /* 例えば「abcde」「21/2/29」等と入力すれば桐が怒ります(^_^) */
     var date { &Dmae , &Dnow } , int { &Iend }
     &Dmae = #月数加算( #日時値生成( #年(#日時値), #月( #日時値 ),21), -1 , 1 )
     method &this.ソース値取得( &Dnow, 0 )
    /* 入力された日付は日時型でメソッドで取得します */
      if(&Dnow="")
    /* 何も入力↑されていない場合、以下のメッセージを表示します */
       確認 "文字が入力されていません"
    /* 必ず入力させたい時はフォーカスを移動させないようにここにフォーカス移動を記述 */
      else if ( &Dnow < &Dmae)
    /* 入力した日付↑が締め日↑より小さい場合、以下を実行します */
       メッセージボックス #TISTR( &Dnow,3,1,2 )+"は締め日以前です"\
          , "白紙に戻して再入力しますか?はい \n"\
          +"そのまま再入力しますか? いいえ \n"\
          +"何もせずこの日付を確定する? キャンセル"\
          , アイコン = i, ボタン指定 = 4 , 制御文字展開= する, &Iend
       if (&Iend=2) /* キャンセルが押されました。 次の入力項目に移動します。 */
       else if (&Iend=6) /* はいが押されました。入力を白紙に戻し再入力 */
        項目値代入 [日付]=""
        method &this.フォーカス設定()
       else if (&Iend=7) /* いいえが押されました。日付はそのままに訂正継続 */
        method &this.フォーカス設定()
       else /* あり得ませんが万が一のケース */
        確認 "予期しない選択肢です"
       end
      else
    *   確認 "正常な日付です"
      end
    手続き定義終了
引用返信 [メール受信/OFF] 削除キー/
■5085 / inTopicNo.10)  Re[6]: 前月の21日以降 とは?
□投稿者/ たくやん -(2009/09/18(Fri) 22:12:00)
    今村 誠さん

    >  var date { &Dmae , &Dnow } , int { &Iend }
    >  &Dmae = #月数加算( #日時値生成( #年(#日時値), #月( #日時値 ),21), -1 , 1 )

    日時型の変数宣言をするところまでは、わかったいたのですが、

    > #月数加算( #日時値生成( #年(#日時値), #月( #日時値 ),21), -1 , 1 )
    のように使用することが、簡単なことかもしれませんがわかりませんでした。
    過去ログやヘルプ等で調べていましたが、なるほどこのようにするのか、と理解しました。
    わかり易いコメントつきで、ありがとうございました。

    通りすがりさん、尾形さんにもお世話になりありがとうございました。
    通りすがりさんの
    >今月の21日 は出せるかい?
    >#月数加算 で1カ月戻す
    が理解できました。

    解決です。


引用返信 [メール受信/OFF] 削除キー/
■5086 / inTopicNo.11)  Re[6]: 前月の21日以降 とは?
□投稿者/ たくやん -(2009/09/18(Fri) 22:13:10)
    解決です。
解決済み!
引用返信 [メール受信/OFF] 削除キー/



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

このトピックに書きこむ

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

Mode/  Pass/

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

- Child Tree -
- Antispam Version -