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

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

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

■11826 / inTopicNo.1)  関す #日時値について
  
□投稿者/ まきこ -(2019/07/01(Mon) 19:31:49)
    日時関数のなかに  #日時値( str ) があります。

    桐ヘルプのサンプルには 下記の通りあります。

    日付文字列から 7日後の日付文字列を求めます。
    #日付( #日時値( "2019/5/21" ) + i"d7" , 1 )
    → 2019-05-28


    今回"2019/5/21" ) の ”2019/5/21" に代わって変数を用いたいのですがうまくいきません。

    申し訳ありませんが、ご教授ねがいます。



引用返信 [メール受信/OFF] 削除キー/
■11827 / inTopicNo.2)  Re[1]: 関す #日時値について
□投稿者/ 今村 誠 -(2019/07/01(Mon) 19:58:32)
    #日数加算( 【 str | tmst 】 , num )
    日時文字列または日時値で指定する日付から、num 日後の
    日付を、日時文字列または日時値で求めます。
    引数 説明
    str 日数を加算する日時文字列を指定します。
    求めた値は文字列型になります。
    求めた文字列の表示形式は、環境設定の日時の表示形式と同じです。
    桐 ver5 では、つねに西暦の日付を返しましたが、桐ver7 以降
    では和暦が返ることがあります。西暦にするには、環境設定の
    日時の表示形式を変更ください。
    tmst 日数を加算する日時値を指定します。
    求めた値は日時型になります。
    num 加算する日数を指定します。マイナスの値を指定すると減算します。
    サンプル
    「2003 年 7月 25日」に 891 日加えた日付を求めます。
    #日数加算( "2003/7/25" , 891 ) → 2006年 1月 1日

    1)変数を使いたい→日時型か文字型かを指定しないと
    サンプルは作れません。
    2)七日後の答えが日時型か文字列型か指定しないと
    サンプルは作れません。
    3)西暦か元号で桐のバージョン次第では結果が変わります。
    バージョンを書かないともう一度質疑することになります。
引用返信 [メール受信/OFF] 削除キー/
■11828 / inTopicNo.3)  Re[1]: 関す #日時値について
□投稿者/ まきこ -(2019/07/01(Mon) 20:14:51)
    一括処理で
     キー入力 (12,21)-(20,1),プロンプト="開始日付を入力してください。)",モ=確定,初期値=”2019/01/01”,上書き=する,終了状態=&終了状態,&開始日
                   分岐 (&終了状態<>1) 中止
     キー入力 (12,21)-(20,1),プロンプト="終了日付を入力してください。(例:)",モ=確定,初期値=”2019/03/31”,上書き=する,終了状態=&終了状態,&終了日
                    分岐 (&終了状態<>1) 中止

    キー入力で、期間を入力して、変数 &開始日、&終了日に 2019/01/01
    2019/03/31の値を登録し、[入力年月日]のデータを取り出したいのです。


引用返信 [メール受信/OFF] 削除キー/
■11829 / inTopicNo.4)  Re[2]: 関す #日時値について
□投稿者/ まきこ -(2019/07/01(Mon) 20:16:33)
    No11827に返信(今村 誠さんの記事)

    桐のバージョンはv9です
    > バージョンを書かないともう一度質疑することになります。
引用返信 [メール受信/OFF] 削除キー/
■11830 / inTopicNo.5)  Re[2]: 関す #日時値について
□投稿者/ 今村 誠 -(2019/07/01(Mon) 21:47:28)
    2019/07/01(Mon) 23:35:16 編集(投稿者)
    2019/07/01(Mon) 21:57:13 編集(投稿者)
    変数宣言 固有,Str {&開始日,&終了日,&項目名="入力年月日",&type}
    変数宣言 固有,整数{&終了[2],&tbl,&y,&m,&d,&ok}
    &tbl = #IS表,&type = #項目属性(#項目番号(&項目名),2)
    if (&tbl > 0)
     キー入力 (12,21)-(20,1),プロンプト="開始日付を入力してくだい。"\
     ,モ=確定,初期値="2019/01/01",上書き=する,終了状態=&終了[1],&開始日
     手続き実行 日付確認(&開始日,&ok)
     if ((&終了[1]=1)*(&ok<>1))
      キー入力 (12,21)-(20,1),プロンプト="終了日付を入力してください。"\
      ,モ=確定,初期値="2019/03/31",上書き=する,終了状態=&終了[2],&終了日
      手続き実行 日付確認(&終了日,&ok)
      if ((&終了[2]=1)*(&ok<>1))
       cond (&type = "日時") 絞り込み &項目名{[]>=#日時値(&開始日),[]=<#日時値(&終了日)},文字比較方法=自動,部分一致検索=しない
       cond (&type = "文字列") 絞り込み &項目名{#日時値([])>=#日時値(&開始日),#日時値([])=<#日時値(&終了日)},文字比較方法=自動,部分一致検索=しない
      end
     end
    else 
     確認 "表が開かれていません"
    end  
    手続き定義開始 日付確認(Str &日付,参照 整数 &確認)
     &確認 = 0
     if (#num(#対応文字列(#S(&日付 ,"/",","),1))-#年(#日時値(&日付))<>0)
      確認 "年が異なっています"
      &確認 = 1
     end
     if (#num(#対応文字列(#S(&日付 ,"/",","),2))-#月(#日時値(&日付))<>0)
      確認 "月が異なっています"
      &確認 = 1
     end
     if (#num(#対応文字列(#S(&日付 ,"/",","),3))-#日(#日時値(&日付))<>0)
      確認 "日が異なっています"
      &確認 = 1
     end
    手続き定義終了

    手続き開始→↑迄は名札と同様に扱うので続けて書くとエラーになります。
    分かり易く日本語表記に変えました。
    まず名札なのか手続き定義開始なのか不明なので良く書けません。
    普通は一括処理から入って表を開けるのか
    表を開けてから一括処理を実行するのかが不明なのでこちらではうまく
    書けません。

    蛇足ですが日付入力はキー入力よりカレンダーを用意した方が簡単かもしれません。
    カレンダーなら2月30日や6月31日等のご入力はあり得ません。
引用返信 [メール受信/OFF] 削除キー/
■11831 / inTopicNo.6)  Re[3]: 関す #日時値について
□投稿者/ まきこ -(2019/07/01(Mon) 23:58:43)
    アドバイスありがとうございます。

    一括処理から入って表を開けるようにしています。
    イベントコマンドボタンのに割り付けられた
    手続き定義開始 コマンドボタン_25:・・・・・・・・から 手続き定義終了
    までの間に
    上記の
    変数宣言 固有,Str {&開始日,&終了日,&項目名="入力年月日",&type} から 手続き定義終了

    までを挿入することでよろしいのでしょうか
    そのようにした場合
    手続き定義開始 の対応が取れていません のエラー表示でます。


引用返信 [メール受信/OFF] 削除キー/
■11832 / inTopicNo.7)  コマンドボタンの書き方
□投稿者/ 今村 誠 -(2019/07/02(Tue) 01:09:21)
    まきこさんこんにちは
    > イベントコマンドボタンのに割り付けられた
    > 手続き定義開始 コマンドボタン_25:・・・・・・・・から 手続き定義終了
    このフォームを使ったボタンの手続きが表とフォームが
    関連づけられていれば、サンプルを添付するのでイベント手続きの最下行を
    参考に今後作られた方が良いです。
    ボタンから日付を指定する場合はボタンの4つの機能への割り付けが
    普通だと思います。
     機能 機能パラメーター




    と書いてありますが上の2のところで

    2 手続き実行…←三点リーダーが真ん中にあるのでそこから
    下から↑3行目を選んで確定します。
    手続き実行を選んだら必ず手続きの名前を書きます。例えば
    「日付の指定」の様に書いた方がいいでしょう。

    プログラムを書いたりフォームを作るのは自分で自由に出来ます。
    まきこさんの様に左クリックに手続きを割り付けるとマウスでクリック
    でなくタブキーや矢印キーで移動してスペースキーで実行できたりします。
    その場合左クリックは使っていないので手続きは実行されません。

    手続きには書いていませんが、絞り込む前に全解除したいなら、まず
    訂正状態かどうかを調べて表示状態にしないと何も出来ません。
    日付指定の前に全解除したが良いでしょう。
    表とフォームに関連がない場合又イベントの作り方が変わるので
    今後はご自分のフォームをサンプルとして添付して下さい。

kyosi.zip
/11KB
引用返信 [メール受信/OFF] 削除キー/
■11833 / inTopicNo.8)  Re[5]: コマンドボタンの書き方
□投稿者/ まきこ -(2019/07/02(Tue) 06:33:52)
    サンプルまで作成していただきありがとうございます
    私が望む操作ができました。
解決済み!
引用返信 [メール受信/OFF] 削除キー/



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

このトピックに書きこむ

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

Mode/  Pass/

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

- Child Tree -
- Antispam Version -