みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
何度かお世話になっております。
Win10 Ver19 初心者です。
テーブルが複数あり、それぞれにグローバルフィールドでテーブル名::テーブル名確定フラグというフィールドを作成してあります。
例) 商品テーブル::商品テーブル確定フラグ
1つ1つテーブル名を指定すると大変なので変数で対応しようと思っているのですが、うまくいかず困っています。
$テーブル名=Get(レイアウトテーブル名)
if [$テーブル名 & "::" & $テーブル名 & "確定フラグ" = 0]
....
としたのですが、フラグが0でもElseにとんでしまいます。
変数を使わず指定すれば動くのですが・・・
どのように修正したらいいのか?
よろしくお願いします。
> $テーブル名=Get(レイアウトテーブル名)
の意味がわかりませんが、変数を設定[] を行なっているのでしたら、
> [$テーブル名 & "::" & $テーブル名 & "確定フラグ"
は、
商品テーブル::商品テーブル確定フラグ
という文字列を返します。これは 0 ではありませんので、常に false を返します。
やりたいことは、商品テーブル::商品テーブル確定フラグ という名前のフィールドの内容を評価したいのでしょうから、GetField() とか、Evaluate() とかでその文字列を評価するといいのでしょう。
Offline
> [$テーブル名 & "::" & $テーブル名 & "確定フラグ"
は、
商品テーブル::商品テーブル確定フラグ
という文字列を返します。これは 0 ではありませんので、常に false を返します。
>>なるほど。文字列になってしまっているのは理解できました。なのでうまくいかないんですね。
やりたいことは、商品テーブル::商品テーブル確定フラグ という名前のフィールドの内容を評価したいのでしょうから、
>>はい、その通りです。
商品テーブル::商品テーブル確定フラグの内容によって分岐させたいです。
GetField() とか、Evaluate() とかでその文字列を評価するといいのでしょう。
>>調べてみます。
一点忘れていました。
$テーブル名 & "::" & $テーブル名 & "確定フラグ"
は、常には正しくありません。
Get(レイアウトテーブル名) は、そのレイアウトの属するオカレンス名によって変わるかもしれませんので、ご注意を。
Offline
初心者ということなので、何か根本的に無駄なことをやろうとしている可能性も考えられますが...
グローバルフィールドなら、テーブルは1つでいいでしょう。
各テーブルにフィールドを作るなら、フィールド名を単に「確定フラグ」にすれば、もっと簡単にできそうですし。
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 551.83 KiB (Peak: 579.59 KiB) ]