初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2021-07-28 09:46:02

jjj
Member

ファイルを開きなおすと、毎回グローバル格納した内容が消えてしまう

環境
FileMakerPro19&Server
OS:Windows10

繰り返しフィールドを用いたチャートの表示をさせています。
その時チャートに用いる表示として、テキストフィールドに「■」を入れグローバル格納したものを用いているのですが、
ファイルを閉じて開くたびに、この「■」が消えてしまい、必然的にチャート表示が出来なくなってしまいます。

いたずらしそうなスクリプトもありません。

あと考えられるのは、チャート表示の為に、ネットで拾ってきたプログラムのどこかが原因としか考えられないのですが、
それも私が見る限り問題なさそうに見えます。

参考までに、

Let(
[
  $i = Get ( 計算式繰り返し位置番号 );
  $start = Extend(納品日);
  $end = Extend(納品日);
  $baseDay = Extend(charts_baseDate);
  $diff = $start - $baseDay;
  $day = $baseDay + $i - 1;
  $progressCount = Floor(Extend(progress) / ( 100 / ($end - $start + 1 ) ) );
  $progressPos = $day - $start
];
//$progressCount & "," & $progressPos &
  Case (
    $progressPos ≥ $progresscount;
      Case (
        $day ≥ $start and $day ≤ $end;
          Case (
            $day = $start and $day = $end;
              Extend(barblock);
            $day = $start;
              Extend(barblock);
            $day = $end;
              Extend(barblock);
            Extend(barblock)
        )
      );
    Case (
      $day ≥ $start and $day ≤ $end;
        Case (
          $day = $start and $day = $end;
            Extend(barblock);
          $day = $start;
            Extend(barblock);
          $day = $end;
            Extend(barblock);
          Extend(barblock)
      )
    )
  )
)

と言うもので、
納品日のフィールドを元に、その日に■を表示させるプログラムに現状なっています。
(表示内容は内輪の問題で色々変更があるので、現状はこうなっている)
barblockと言うフィールドに、この「■」を入れてグローバル格納しているのですが、
これが、毎回ファイルを閉じる度に消えてしまいます(レイアウト切替えでは消えません)。

なにが原因なのかお分かりになりますでしょうか?
宜しくお願い致します。

Offline

#2 2021-07-28 09:58:15

himadanee
Guest

Re: ファイルを開きなおすと、毎回グローバル格納した内容が消えてしまう

グローバルフィールドの値はクライアントごとのものなので、クライアントとして開いたファイルで変更しても保存されません。
サーバにアップロードする前に保存する必要があります。

#3 2021-07-28 10:09:27

jjj
Member

Re: ファイルを開きなおすと、毎回グローバル格納した内容が消えてしまう

himadaneeさん
そうなんですか(汗)。
重要なことなのに知りませんでした(汗)。
本日運用停止後に確認してみたいと思います。
[解決]は念のため、確認を取れた時点で付けさせていただこうと思います。
ありがとうございました。

Offline

#4 2021-07-28 10:26:56

Shin
Member

Re: ファイルを開きなおすと、毎回グローバル格納した内容が消えてしまう

その式ですが、検証はしていませんが、ざっと見て、
Case ( 納品日[1] = charts_baseDate[1] + Get ( 計算式繰り返し位置番号 ) - 1 ; "■" )
という計算フィールドくらいで、もっと簡単に作れそうですが。これならば、グローバルフィールドにしておかなくてもいいです。

Last edited by Shin (2021-07-28 11:07:27)

Offline

#5 2021-07-28 11:31:32

チポ
Member

Re: ファイルを開きなおすと、毎回グローバル格納した内容が消えてしまう

今の式のままでも、
Let関数の中で変数に”■”を定義して、
グローバルフィールドに変えればいいことでは。

Offline

#6 2021-07-28 18:06:41

jjj
Member

Re: ファイルを開きなおすと、毎回グローバル格納した内容が消えてしまう

Shinさん、チポさん
おっしゃる通り、多分もっと簡単に作れると思います。
webから拾ってきて、ほぼそのままのプログラムに、
最低限変更必要なところを変えたのがこの姿、と言ったところです。

Let関数も
使えれば便利なのはわかっていますが理解できていないので、
いじって稼働しなくなる事を恐れてそのままの状態です。

紆余曲折の末、現状目標とする仕様は、
納品日に「■」が入れば良いだけで、
このプログラムに含まれる完成度を表す割合表示も必要ではなくなりました。

てこずるとは思いますが、アドバイスを元に少しづつ試しながら簡略化したいと思います((;^_^A)

Offline

#7 2021-07-29 08:45:26

チポ
Member

Re: ファイルを開きなおすと、毎回グローバル格納した内容が消えてしまう

> いじって稼働しなくなる事を恐れてそのままの状態です
稼働しているファイルはいじらずに、
そのコピーを取って変更等するべきですよ。

おかしくなったらそれを捨てて、またコピーを取って、、
とすれば怖いもんなしですね。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 517.07 KiB (Peak: 521.61 KiB) ]