みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
FM16をWindowsで利用しています。ファイルの共有設定をして、ファイルを開くと以下のようなメッセージが表示されました。
--------------------
「ファイル」は共有ファイルです。共有ファイルをリモートボリュームから直接開くと、パフォーマンスが低下し、信頼性に影響を与える可能性があります。
代わりに、ファイルがディスクに保存されているコンピュータと同じコンピュータ上でファイルメーカーソフトウェアを使用してファイルを開くことによって、ファイルを共有してください。
その後、共有ファイルを開くコマンドを使用して、コンピュータからリモートでファイルを開くことができます。このファイルを開きますか?
共有せずに開く、開く、キャンセルと表示されます。
--------------------
ファイルはファイルサーバーに置いてあります。このファイルを開こうとすると上記のようなメッセージが表示されます。
意味がよくわからないのですが、どういった意味になるでしょうか?
menさん、Shinさん
無事にできました!ありがとうございます!
スクリプトについて質問があります。
レイアウトが複数あります。Aテーブル、Bテーブル、Cテーブルがあって、それに対応するAレイアウト、Bレイアウト、Cレイアウトがあります。
テーブル構造は3テーブルとも同じです。
スクリプトは下のようなものがあるとします。
if[get(レイアウト名) = "Aレイアウト"]
if[Aテーブル::数字 < 100]
...
end if
end if
if[get(レイアウト名) = "Bレイアウト"]
if[Bテーブル::数字 < 100]
...
end if
end if
if[get(レイアウト名) = "Cレイアウト"]
if[Cテーブル::数字 < 100]
...
end if
end if
重複している部分が多いので、スッキリまとめないのですが可能でしょうか?
こんにちは。以前紹介頂いたコードがよくわかりません。
'$id={]'||`id`||'{]'
ここの、シングルクオテーションや||や、バッククォートは何をしているんでしょうか?
また、
変数を設定 [$Result; 値:/* ダブルクォーテーション処理 */ Substitute ( $Result ["\\" ; "\\\\"] ; ["\"" ; "\\\""] ; ["{]" ; "\""] )]
の["\\" ; "\\\\"] ; ["\"" ; "\\\""] ; ["{]" ; "\""] が何をやっているのかがわかりません。
宜しくおねがいします。
詳しいコードまで書いて頂いてありがとうございます!私の力量では直ぐに理解ができないので、
1つ1つスクリプトを読み解いて理解していきたいと思います。ありがとうございます。
2点質問があります。
executeSQLを使い、このようなデータを取得しました。各データをフィールドに挿入したいと思います。
そこで以下のような方法で1行目のデータを取得しました。
id,価格,商品名
1,10,飴
2,99,999,掃除機
変数を設定[$変数1;ExecuteSQL("Select...")]
変数を設定[$行;Let([$行 = GetValue($変数1,1);$row=Substitute($行;",",¶),$列;"1")];$行)]
フィールド設定[table::a;GetValue($行;"1")]
フィールド設定[table::b;GetValue($行;"2")]
フィールド設定[table::c;GetValue($行;"3")]
質問1
1行を取得して、カンマを改行に置換。1列になったところをGetValueで各行にアクセスしてデータを取得するという方法を行っています。
これで問題なくデータをフィールドに設定できています。ただ、このやり方があまりスマートじゃないような気がしていますが、このような
やり方で問題ないでしょうか?
質問2
1行目は問題ないのですが、2行目は価格が「99,999」とカンマが入っています。上記のようなやり方だと、価格のカンマも改行されてしまいます。
そうすると、正しい価格をフィールドに設定できません。何か良い方法で「99,999」を取得する事ができないでしょうか?
よろしくおねがいします。
>[パスワード変更]の場合もアカウントに割り当てられたアクセス権セットの
>最小の長さを無視したパスワードを指定することはできません。
知りませんでした。勉強になりました、ありがとうございます。
FM16、Winで利用しています。
パスワード変更スクリプトステップでパスワードを求めることができると思います。
入力するパスワード数を◯文字以上と決めて、それ以下のパスワード数だとNGにする方法はありますか?
アクセス権セットの編集でパスワードの最小の長さを指定できるのはわかるのですが、スクリプトステップで
指定できるんでしょうか?
[フィールドを名前で設定]で無事にやりたい事ができました。ありがとうございます。
特定のフィールドに値を入力したいと思います。
フィールド設定で、例えば下記のようにやるとフィールドに値を設定できます。
フィールド設定[Table::field_1 ;"ABC"]
Table::field_1の部分を計算式で入力したいです。例えば、変数にTable::field_1を入力しておいて、その変数を使って
フィールド設定[$変数 ;"ABC"]
このように設定したいのですが、できません。他に何か代替方法はありますか?
FM15使用です。
FileMaker16を使用しています。
IDフィールドの入力値の制限で「空欄不可」、「ユニークな値」にチェックをし、カスタムメッセージに「aaa」と入力しました。
同じIDを入力すると、「aaa」というカスタムメッセージと共に、「フィールド復帰」ボタンと「OK」ボタンが表示されます。
フィールド復帰ボタンを押すと、もう一度「aaa」というカスタムメッセージが表示され、「OK」ボタンのみ表示されます。
次に、IDフィールドがブランクの状態で他のボタンを押すと、「aaa」というカスタムメッセージが表示され、「OK」ボタンのみ表示されます。
疑問なのは、なぜ同じIDを入力するとカスタムメッセージと共にフィールド復帰ボタンが表示されるんでしょうか?
そもそも、フィールド復帰ボタンが表示されて、復帰ボタンを押すともう一度カスタムメッセージが表示されるので、2回メッセージが表示されます。
二度手間なので、フィールド復帰ボタンを表示させない方法はあるんでしょうか?
Win10 FM16 advancedでカスタムAPPを作りました。
フォームのプレビューでA4に収まる事を確認し、印刷をすると正しく印刷できました。
このカスタムAPPを他のPC、Win 7 FM16 proで開いて、プレビューを見ると若干のズレがでました。
具体的には、日時を挿入しているのですが、Win10では正しく右端に日時が表示されているのに、Win7では日時が少し右にいってしまって、
プレビューで確認すると少しかけてしまっています。印刷しても当然かけています。
OSのバージョン違いや、MACとWindowsでカスタムAPPを開く場合、レイアウトの若干のズレなどはでるものなんでしょうか?
ありがとうございました。こちらに同じような記事がありました。
http://www.filemaker.com/help/12/fmp/jp … .5.11.html
ありがとうございます。3フィールドを結合したフィールドを作り、「!」で重複検索をするまでは理解できたのですが、
スクリプトを使って、1つのみ残して他を削除したいのですが、どうすればいいでしょうか?
テーブルに重複データがあります。
テーブルY
Aフィールド、Bフィールド、Cフィールド
a,1,2
b,1,2
c,1,2
a,1,2
a,4,5
A、B、Cフィールドの3列が重複しているものを削除して1つにしたいです。上の場合だと、1行目と4行目が重複しているので、まとめて、
a,1,2
b,1,2
c,1,2
a,4,5
このような形にしたいのですが、よい方法が思い浮かびません。ご教授お願い致します。
ボタンバーでボタンを二つ作りました。
片方のボタンをアクティブ、非アクティブに限らず色を固定に、例えばボタンを黒色にしたいのですが、
ボタンを選択して色を変更すると、もう片方のボタンの色も変わってしまいます。
片方だけのボタンの色を変更する事は可能でしょうか?
もう1つ追加の質問をお願いします。
フィールドの設定で、空欄は基本的に不可にしたいけど、1行のみの空欄は許可したいのですが、
そのような事は可能なんでしょうか?
フィールドに空欄不可、ユニークな値設定をしました。制限値以外の入力時にカスタムメッセージを表示にチェックを入れて、
メッセージを書いたのですが、ちょっと長い文章でした。
フィールドが空欄時にカスタムメッセージが表示されますが、ダイアログに入り切りません。何か良い方法はないでしょうか?
また、カスタムメッセージのかわりにスクリプトステップのカスタムダイアログを表示させる事は可能でしょうか?
商品と属性紐付けテーブルオカレンスをもう1つ作って、ロットテーブルの使用レイアウトとリレーションを組んだのですが、
これでもうまく動きませんでした・・・
shin様、ご回答ありがとうございます。以後同じスレッドで継続質問させて頂きます。申し訳ありません。
ポータルで制御ということですが、ポータルでは「使用レイアウト」を表示させたくありません。
なので、ポータルのフィルタは使えないと思うのですが、どうすればよろしいでしょうか?
下の続きの質問をさせてください。
https://fm-aid.com/bbs2/viewtopic.php?id=7290
テーブルは下記のように定義されています。
ロットテーブル
ロット番号,商品id,使用レイアウト←(使用レイアウトを新しく追加)
lot1,1,使用レイアウト1
lot2,1,使用レイアウト2
lot3,1,使用レイアウト1
lot4,2,使用レイアウト3
---------------------------------------------------------------------
商品テーブル
商品id,商品名,商品と属性紐付けid
1,リンゴ,1
2,ミカン,2
3,ブドウ,3
---------------------------------------------------------------------
商品と属性紐付けテーブル
商品id,属性紐付けid,使用レイアウト←(使用レイアウトを新しく追加)
1,zokusei1,使用レイアウト1
1,zokusei1,使用レイアウト2
1,zokusei2,使用レイアウト1
2,zokusei1,使用レイアウト3
2,zokusei3,使用レイアウト3
2,zokusei4,使用レイアウト3
---------------------------------------------------------------------
属性項目テーブル
属性紐付けid,属性名
zokusei1,ジューシー
zokusei2,美味しい
zokusei3,オレンジ色
zokusei4,愛媛産
---------------------------------------------------------------------
リレーションは下記のように定義されています。
ロットテーブル.商品id = 商品テーブル.商品id
商品テーブル.属性紐付けid = 属性項目テーブル.属性紐付けid
属性項目テーブル.属性紐付けid = 属性項目テーブル.属性紐付けid
ロットテーブルの使用レイアウトというフィールドがあります。
例えば、lot1の使用レイアウトは「使用レイアウト1」になります。
商品と属性紐付けテーブルにも使用レイアウトというフィールドがあります。
同じ商品idでも使用するレイアウトが違います。lot1の場合、「使用レイアウト1」を
使用する為、商品と属性紐付けテーブルの1行目と3行目のみポータルで表示されてもらいたいです。
今度は、lot2の場合、使用レイアウトは2になります。
商品と属性紐付けテーブルでは2行目のみポータルで表示されてもらいたいです。
レイアウトによって、同じ商品idだけどポータルで表示させる項目を制御したいと思います。
ただ、この場合の絞り込みがどのように行えばいいかわかりません。何かお知恵を頂けると助かります。
宜しくお願いします。
テーブルを削除して、新しく作り直したら何故か普通に動きました。
テーブルが壊れていた?かもしれません。何十回とテーブルに修正などを加えていた為かもです。
ありがとうございました。
ご回答ありがとうございます。ご提供頂きましたサンプルで問題なく動き、理解できました。
1点、私が別で作っているサンプルがあるのですが、「商品id属性テーブル」、「属性マスター」の箇所で「属性紐付けid」でリレーションを組んでいます。
フィールドのタイプも同じで、データも正しく入っていると思われるのですが、「属性マスター」.「属性紐付けid」をレイアウト上でフィールドピッカーを使い
配置しても、データが表示されません。同様に「属性名」も表示されません。
「商品id属性テーブル」の方はどのフィールドもレイアウト上で表示されていますが、属性マスターの方が表示されないということは正しくリレーションが
組まれていないということでしょうか?何か原因になるような可能性があるものがあればお教え頂けると助かります。
「ロットテーブル」~「商品id属性テーブル」では上記のようなことは起きませんでしたが、なぜか属性マスターのところだけが、上手くいかないです。
環境はwindows 7, FM16Advです。
ロットテーブル
ロット番号,商品id
lot1,1
lot2,1
lot3,1
lot4,2
---------------------------------------------------------------------
商品テーブル
商品id,商品名,商品と属性紐付けid
1,リンゴ,1
2,ミカン,2
3,ブドウ,3
---------------------------------------------------------------------
商品と属性紐付けテーブル
商品id,属性紐付けid
1,zokusei1
1,zokusei2
2,zokusei1
2,zokusei3
2,zokusei4
---------------------------------------------------------------------
属性項目テーブル
属性紐付けid,属性名
zokusei1,ジューシー
zokusei2,美味しい
zokusei3,オレンジ色
zokusei4,愛媛産
---------------------------------------------------------------------
上記のようなテーブルオカレンスがあります。
例えば、lot1で検索したとします。下記のような結果が欲しいと思います。
lot1,リンゴ,zokusei1,ジューシー
lot1,リンゴ,zokusei2,美味しい
lot4で検索したとします。下記のような結果が欲しいと思います。
lot4,ミカン,zokusei1,ジューシー
lot4,ミカン,zokusei3,オレンジ色
lot4,ミカン,zokusei4,愛媛産
ロットテーブルを起点とした時、どのようなリレーションを組めば欲しい結果がえられるのかわかりません。
ロットテーブル.商品id = 商品テーブル.商品id
商品テーブル.属性紐付けid = 属性項目テーブル.属性紐付けid
属性項目テーブル.属性紐付けid = 属性項目テーブル.属性紐付けid
としましたが、
lot1,リンゴ,zokusei1,ジューシー
または、
lot4,ミカン,zokusei1,ジューシー
の1行のみしか結果を得ることができませんでした。
どのようにすれば、目的の結果が得られるでしょうか?長々と書いて申し訳ありません。
ご回答ありがとうございます。
$count > ValueCount($x)
⇒こちらは誤りでした。ご指摘ありがとうございます。
count変数で1ずつ加算してLoopを抜けるという方法で問題ないんですね。安心しました。
例えば、多言語のように、
int[] numbers = { 4, 5, 6, 1, 2, 3, -2, -1, 0 };
foreach (int i in numbers)
{}
のように、count変数を加算せずに処理できたりするのかなと思いました。
リスト内の値の数をカウントし、Loopで回して、条件が合致すればLoopを抜けるという
手法で問題なさそうなのがわかりました。勉強になります。ありがとうございます。
[ Generated in 0.014 seconds, 7 queries executed - Memory usage: 719.47 KiB (Peak: 757.63 KiB) ]