みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
>10㎡未満は小数点下2ケタまでは絶対入力しなければいけないのです。
桁数指定ということですね。
>下3ケタ以上入力するとエラーを出す!
BS、Enter、→ 等を使えるようにしておく前提で、
下3ケタ目からの数字キー入力を無効にする方法もありますが。
【集計結果】
180,000円
※フィルタで非表示にしている80,000円までカウントしているようです。
集計結果のフィールドをフィルタ設定したポータル内にいれていますか?
HTMLのところはフィールドの枠の上に余白ができるみたいです。この余白がとれれば少しは高さがへるのですが
Webビューア上でテキスト表示をできるだけ小さい枠内で 。
"data:text/html,<font size=\"2\"><body style=border:0;overflow:hidden;>"& data01::本体識別H2 &"</size>"
でどうでしょうか。
ペイント系よりドロー系のソフトのほうが向いてると思いますが・・。
数字以外にも確定と取り消しの設定が必要になるでしょう。
13桁分を一度の手間でフィールドに入力する目的のものを一文字ずつ
バーコードを照らし合わせながら読み取るのは
入力効率が悪く実用にならないと思います。
テンキーでやるほうが速いでしょう。
デフォルトで開くソフトの設定は拡張子で決めます。
ペイントのファイルの拡張子は .png
コントロールパネルの既定のプログラム-既定のプログラムを設定する-
プログラムの関連付けを設定する .png 現在の既定プログラムを ペイントにする
プロパティからも設定できたかも。
>FMで家の間取り図に家具を配置した画像を作成したいと考えています。
ペイントよりも使いやすいフリーソフトがありそうな・・・。
数字の羅列といえども主催者が発行したことが確認できるものでなくてはならず、
管理上、チェックデジットは2つ以上必要なのでは。
どのタイミングで色を付けたいのかがわからないのですが。
> Main::YYYY & "/" & Main::MM & "/" & "01"
比べるのが日付なので Date ( Main::MM ; 1 ; Main::YYYY ) でよいのでは。
他には Evaluate ( Main::YYYY & "/" & Main::MM & "/" & "01" ) とか。
ガントチャートにするなら、繰り返しのほうがいいのでは。
>集計フィールドのフィルタはどこで設定するのでしょうか?
集計フィールドはポータルの関連テーブルに作り、フィルタはポータルで設定です。
>現状のフィルタなしで、一行のポータルの上に集計フィールドを乗せると、
>ブラウズモードで文字が重なって表示されるだけですが、
フィールドを重ねるのではありません。
元のポータルを複製し、別のところに配置し、一行だけにして、フィールドをひとつだけにして
それを関連テーブルの集計フィールドに差し替えます。
●ダウンロード「zipcode.fp7」→ http://yahoo.jp/box/prKjJJ
全てのフィールドに対して計算値自動入力 既存値を置き換えといった対応をしていく必要があるのでしょうか?
その100フィールドを選択してトリガにするのが手間がかかりません。
書式を戻すスクリプト
コピー [ ] [ 選択 ]
貼り付け [ ] [ 選択; スタイルなし ]
フィールドへ移動 [ ]
レイアウトモードにしてShift もしくはCtrlを使って該当する100フィールドを選択。
右クリックでスクリプトトリガ設定。
OnObjectExit
現在あるレコードは一度merge形式で拡張子をcsvでエクスポート、
複製したファイルに上書きインポートでできます。
計算値自動入力 既存値を置き換え
TextFormatRemove ( Self )
スクリプトなら
コピー [ TBL::テキスト ] [ 選択 ]
消去 [ TBL::テキスト ] [ 選択 ]
貼り付け [ TBL::テキスト ] [ 選択; スタイルなし ]
とか
コピーしておいて ペーストは Ctrl + Shift + V で。
Macでは コマンド+option+shift+V。
>全角
インプットメソッドを直接入力にしておけば基本は防げます。
>半角数字9桁に限定する方法を
>改行
スクリプトトリガ OnObjectKeystroke なら、filter関数で半角数字とBSとEscだけにして
9文字以内におけば、それ以外の文字の入力は無視されます。
>フィールド「品目コード」入力を
品目コードを正しく入力してほしいのだから、判定にはFilterValuesとValueListItemsを使うべきでは。
>「品目コード」
品目コードではなく、品目名をインクリメンタルサーチで選べるようにするほうが親切では。
チポさんのリレーションを使った式が一番すっきりしていて
関数の使い方もFMらしく、こちらがお勧めです。
Substitute ( 品名 ; ¶ ; "" )
で 連続する改行も取れます。
Let ([
ST = Position (フィールド ; "<title>" ; 1; 1 ) + 7;
END = Position (フィールド ; "</title>" ; 1; 1 ) - 1];
Middle (フィールド ; ST ; END - ST + 1 )
)
H列のテーブル名::フィールド名を TBL::H として、
H8:H13 の結果を13の行に表示する式
H列は空白は0に、計算値自動入力 If ( IsEmpty ( Self ) ; 0 ; Self ) 既存値置き換え、常に評価
Let([$$Nlist = ExecuteSQL ( "Select \"H\" From \"TBL\"" ; "" ; "" );
Tsum=MiddleValues ( $$Nlist ; Get ( レコード番号 ) - 5 ; 6 ) & 0];
Case ( Get ( レコード番号 ) < 6 ; "" ; Evaluate(Substitute( Tsum ; ¶ ; "+" ))) = 600
)
DMAXの式は
ExecuteSQL ( "Select Max (\"D\") From \"TBL\"" ; "" ; "" )
とか。
ただしDフィールドを エクセルのようにD1:D6 を除外とかはできないので一工夫を。
>=IF(SUM(H8:H13)=600,1,0)
この式が入っているセルの番号は○8、それとも○13ですか?
7つの数字の文字の間にサイズ指定のスペースを入れた計算式ひとつで済ませる案
フォントはOCRB、文字サイズは12p 。
FMでは文字サイズは整数しか使えないので
各文字の間は半角スペース19p、ハイフン部分は24p にした。
もっと細かく調整したければ、2文字目と3文字目の間のサイズをCase文のところで調整するとか。
Let([
$PN=Filter ( RomanHankaku ( 郵便番号 ) ; "0123456789" );
$no=7;
$PSp=" " ;
$PSz1=19; /* 数字の間隔 ( スペースのサイズ ) */
$PSz2=24; /* ハイフン部分の間隔 */
$result="";
$f="Case(
$no < 1;TextFont ( $result ; \"OCRB\" ) ;
Let([$result=Middle ($PN;$no;1) & Case($no=3;TextSize ($PSp ; $PSz2 );TextSize ($PSp ;$PSz1)) & $result;
$no=$no-1
];Evaluate($f))
)"
];
Evaluate($f)
)
=で両辺の値が等しければ真。 結果は1。
= で比べなくても式が 0 以外になれば、真。
IsEmpty() の関数自体が論理式のようなもの。
not IsEmpty() のかわりに、 IsEmpty() - 1 とか。
0 なら偽で、それ以外なら真になるので。
FM12始めたばかりさん、yukioさんのおっしゃるとおり、
スクリプトでできますね。
FM11 ステータスエリアの表示切り替え
FM12 ツールバーの表示切り替え
ロックでできます。
表示するにしておかないとレコード切り替えが不便です。
ポータルフィルタではないのですが、
ExecuteSQL関数を使ってリレーションで抽出する
サンプルを作ってみました。
スライドは表形式ではできません。リスト形式ならできます。
印刷用のレイアウトで、フィールドを繰り返し2にして罫線を引き、
グループ化します。
空白のフィールドはそのまま空白行にしたい場合、
フィールド名の番号を式に利用して、フィールド名を $fnと$no として式をくみたてる。
非保存で。
Let([
$fn="フィールド";
$no=20;
$cr=¶;
$result="";
$f="Case(
$no < 1;$result;
Let([$result=GetField ($fn & $no ) & Case($no<10;$cr) & $result;
$no=$no-1
];Evaluate($f))
)"
];
No. & $cr & Evaluate($f)
)
[ Generated in 0.008 seconds, 7 queries executed - Memory usage: 640.01 KiB (Peak: 678.91 KiB) ]