みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になります。
windows10にてFM18Proを使用しています。
我流でファイルメーカーを利用していますので初心者の域から抜け出せていないものです。
また質問をさせて頂きます。よろしくお願いいたします。
現在ボタンバーの表示に〇月と表示しようと考えています。
イメージとしてはtodoリスト的に今年の何月、来年の何月にとあらかじめ入力しているレコードを検索するための月を選択するための物です。
12枠作っており一番左には
Month ( Get ( 日付 ) ) 今日なら6月と表示されます。これが12月までならMonth ( Get ( 日付 ) ) + #と#部分を増やして表示されますが、それ以降はそのまま13 14 となってしまします。Month ( Get ( 日付 ) + 210)と日付をたしていくと表示わされます。
このようなやり方で良いのかどうか、たぶん私の考えたことなので将来何らかの障害が出そうです。
どなたかお時間のある時にご教授ください。
宜しくお願いいたします。
Offline
一連の月を管理するのでしたら、Year ( 日付 ) * 12 + Month ( 日付 ) - 1 という数値で管理しておくと便利です。その数値を年月に戻すには、Div ( 数値 ; 12 ) で年が、Mod ( 数値 ; 12 ) + 1 で月になります。
これを、グローバル変数に保存しておきましょう。
その数値を加減しておくと、各年月になりますので、その数値を月に戻して表示させるといいです。例えば、10番めのラベルでしたら、Mod ( 数値 + 9 ;12 ) + 1
日付 で +210 などでも表面的には良さそうですが、月末や月初には意図しない表示になることがあります。
Last edited by Shin (2021-06-14 18:50:24)
Offline
一連の月を管理するのでしたら、Year ( 日付 ) * 12 + Month ( 日付 ) - 1 という数値で管理しておくと便利です。その数値を年月に戻すには、Div ( 数値 ; 12 ) で年が、Mod ( 数値 ; 12 ) + 1 で月になります。
これを、グローバル変数に保存しておきましょう。
有難うございます。数値で持っておき必要な時に年月に戻すのですね、勉強になりました。これで表示を行ってみます。
強引にこんな風に作ってみましたがすべて数字を直していかなければならないので今思案中でした。
Month (
Min (
Date ( Month ( Get ( 日付 ) ) + n
; Day ( Get ( 日付 ) ) - 1 ; Year ( Get ( 日付 ) ) ) ;
Date ( Month ( Get ( 日付 ) ) + n+1
; 0 ; Year ( Get ( 日付 ) ) )
)
)
引数を取得できればと思ったのですが無理なようです。これを改良できますか?安全にお教えいただいた方法でやったほうが良さそうですね。
いつもありがとうございます。
Offline
1~12で繰り返すことになるので、
Mod ( Month ( Get ( 日付 ) ) + # ; 12 ) + 1
でいいのでは。実際使う際には、#は-1から11になります。(1番目の時にカッコの外の+1を相殺する値)
12個のフィールドごとに、
1~12を定数nとすれば、
Mod ( Month ( Get ( 日付 ) ) + n -2 ; 12 ) + 1
でいいでしょう。
Offline
皆様
有難うございました。
無事表示をする事が出来ました。
Mod ( Month ( Get ( 日付 ) ) + n -2 ; 12 ) + 1 これは分かりませんでした。ネット上を検索しても出てこなかったです。検索ワードが悪かったのでしょうか?
お世話になりました。
Offline
お世話になります。
もう一つこちらん位関連してお教えいただきたいことが出てきました。
表示については完了しましたが、
1月から12月のボタンバーとその下に担当者のボタンバーを配置してそれぞれの変数を使い複合検索を行っています。
月
1 2 3 ~~ 12
担当者
A B C ~~
1とBを押して検索のスクリプトを実行したら両方に合致した結果を表示させています。
そこで
1~12を押したとき押したボタンの色を変える、A~の担当者を押したときそのボタンの色を変えるということはできるのでしょうか?
ボタンの条件付き書式が使えそうなのですがいろいろ検索していじってみましたが動きませんでした。
どなたかお時間のある時で結構ですのでご教授ください。
たびたび質問をさせて頂き恐縮ですがよろしくお願いいたします。
Offline
動作するボタン(「何もしない」でなくスクリプトの割り当てがある)なら、ボタンを押せば色が変わります。(変わり方はテーマによると思うけど)
変わらないのは、検索実行のスクリプトが何か「アクティブセグメント」の設定をしてリセットしているのでは?
動作するボタン(「何もしない」でなくスクリプトの割り当てがある)なら、ボタンを押せば色が変わります。(変わり方はテーマによると思うけど)
変わらないのは、検索実行のスクリプトが何か「アクティブセグメント」の設定をしてリセットしているのでは?
いつもお世話になります。
早速ですが、ボタンに組んでいるスクリプトは変数を設定して関連レコードに移動、新規レコードまたボタンがあった画面にレイアウトを戻したりしています。この場合も同様なアクティブセグメントが外れますか?
Offline
簡単な実験では、レコードの追加や除外・対象レコードの変更ではリセットされないが、レイアウトを切り替えるとリセットされました。
「アクティブセグメント」に変数を設定して、押したボタンを変数に保存するとかですかね。
逆に、押されてない状態にしたい場合に、変数を消去する必要が出てしまいますが。
今の例だと、検索を解除するとか他の方法で検索した場合でしょうか。
もっとも、ボタンが検索状態を示すんだとしたら、これはどうしても必要なのか。。。
とりあえずリセットされなくするには「ボタンがあった画面にレイアウトを戻す」んでなく、関連レコードを新規ウィンドウに開いてそれを閉じる、にすると簡単かも?
簡単な実験では、レコードの追加や除外・対象レコードの変更ではリセットされないが、レイアウトを切り替えるとリセットされました。
「アクティブセグメント」に変数を設定して、押したボタンを変数に保存するとかですかね。
逆に、押されてない状態にしたい場合に、変数を消去する必要が出てしまいますが。
今の例だと、検索を解除するとか他の方法で検索した場合でしょうか。
もっとも、ボタンが検索状態を示すんだとしたら、これはどうしても必要なのか。。。
とりあえずリセットされなくするには「ボタンがあった画面にレイアウトを戻す」んでなく、関連レコードを新規ウィンドウに開いてそれを閉じる、にすると簡単かも?
簡単な実験では、レコードの追加や除外・対象レコードの変更ではリセットされないが、レイアウトを切り替えるとリセットされました。
とりあえずリセットされなくするには「ボタンがあった画面にレイアウトを戻す」んでなく、関連レコードを新規ウィンドウに開いてそれを閉じる、にすると簡単かも?
himadanee様
お世話になります。
ご指導有難うございました。おっしゃる通りレイアウトを変更しないでやる方法で問題が解決いたしました。
有難うございました。一瞬のためそんな状況は分からなかったですが言われてみて気が付きました。初心者は経験が足りないからでしょう、今後も頑張ります。
Offline
Pages: 1
[ Generated in 0.017 seconds, 9 queries executed - Memory usage: 547.09 KiB (Peak: 567.63 KiB) ]