今だけ人気マンガ100円レンタル特集♪

FileMakerで6桁の数字を1桁づつ各フィールドに移したいのですが。

564297 が合計フィールドに入っているとします。

それを

100000の位フィールドに5
10000の位フィールドに6
1000の位フィールドに4
100の位フィールドに2
10の位フィールドに9
1の位フィールドに7

と各フィールドに数字を分けたいのですが
どうしたらいいでしょうか?
もちろん位別にわけたいです。
質問がわかりにくくてごめんなさい。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

ANo.1、3です。


たびたび訂正
  T = GetAsText(金額);L = Length(T)];

  T = GetAsText(int(金額));L = Length(T)];
でお願いします。

ANo2の方の方法ははシンプルでいいですね!

でもそれだけだと小額でも0が表示されますが
それはいいのかな?
まあif分岐を追加すればいいだけですが
    • good
    • 0

>位別にわけたいです。


 この意味がよく分かりませんが、単純に564297という数値を、5,6,4,2,9,7の6個に分けたいということでいいのでしょうか。
 それとも500000,60000,4000,200,90,7のように分けたいという意味でしょうか。
 前者の場合なら
100000の位フィールドに Middle(合計フィールド,1,1)
10000の位フィールドに  Middle(合計フィールド,2,1)
1000の位フィールドに   Middle(合計フィールド,3,1)
100の位フィールドに   Middle(合計フィールド,4,1)
10の位フィールドに   Middle(合計フィールド,5,1)
1の位フィールドに    Middle(合計フィールド,6,1)
 の各計算式を入れますが、後者の場合なら
100000の位フィールドに Middle(合計フィールド,1,1)*100000
10000の位フィールドに  Middle(合計フィールド,2,1)*10000
1000の位フィールドに   Middle(合計フィールド,3,1)*1000
100の位フィールドに   Middle(合計フィールド,4,1)*100
10の位フィールドに   Middle(合計フィールド,5,1)*10
1の位フィールドに    Middle(合計フィールド,6,1)
 と計算式を入れればいいと思いますが、いかがでしょうか。
 なお、計算結果のフィールドタイプを数字にするかテキストにするかは、データを計算に使うか、文字として使うかによって使い分てください。
    • good
    • 0

ANo.1です。


会社で検証したところちょっと訂正。
ファイルメーカーでは数字フィールドに数字以外の
文字が入力できるので
  T = GetAsText(金額);L = Length(T)];

  T = GetAsText(GetAsNumber(金額));L = Length(T)];
と面倒ですがしてください

あと計算結果はレイアウトに表示するだけ時は
文字列にするのが通常です。
    • good
    • 0

1000の位の数字は、元の数値を100で割った商をさらに10で割った余


ですから、

mod(int(数値/100), 10)

ですね。他の桁も同様に(桁数-1)で割った商を10で割った余を出せ
ばオッケー。
    • good
    • 0

Ver7の場合で



100000の位=
 Let ([
  T = GetAsText(金額);L = Length(T)];
  If( L >= 6;Middle(T;L-5;1);"")
 )
    • good
    • 0
この回答へのお礼

ありがとうございました。
とても助かります。
初心者なもので。。。

お礼日時:2005/11/18 09:58

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QFileMakerで、フィールドの値が空欄だった時に0を返す計算式

ファイルメーカーで、フィールドの値が空欄だった場合に
数値の0を返し、"空欄ではなかった時はそのままの値を返す"
計算式を教えてください。

IsEmptyを使ってみたのですがうまく行きませんでした。

FileMaker Pro7を使っています。
よろしくお願いします。

Aベストアンサー

結果=Case(IsEmpty(そのフィールド);0;そのフィールド)

Qフィールドの中のテキストを分割したい(ファイルメーカー)

よく分からないタイトルですみませんm(_ _)m

先日もこちらでファイルメーカの事を質問したばかりで大変恐縮なのですがどうかお助け下さい。
現在ファイルメーカー5.5 macで作った住所録があるのですが、これの修正を頼まれたのです。
修正内容は現在、「氏名フィールド」というものがあるのですが、これを「氏フィールド」と「名フィールド」に分けたいと言う事なのです。

「氏名フィールド」の氏と名の間に全角スペースが入っておりますのでこれをキーワードに計算式を作れば何とかなると思うのですがそれが???なのです。

一つの「氏名フィールド」から氏と名の間にスペースが入っているものを新たに「氏フィールド」と「名フィールド」分ける。また、スペースの入っていないものは「氏フィールド」に分ける方法をどうか教えてください。よろしくお願いします。

Aベストアンサー

◆フィールド「氏」の計算
1.全角スペースの位置を出す
Position(氏名," ",1,1)
2.「氏名」からその位置の1文字前まで抽出する

フィールド「氏」=
Left(氏名,Position(氏名," ",1,1) - 1)

◆フィールド「名」の計算
1.「氏名」から『フィールド「氏」と全角スペース』を
  取り除く(ヌルに置換する)

フィールド「名」=
Substitute(氏名,Left(氏名,Position(氏名," ",1,1) - 1) & " ","")

QファイルメーカーでCountifの様な方法ありますか?

はじめまして
初めての質問です。

環境はWinXP ファイルメーカーpro7です。
テーブル「社員名簿」のレコードからテーブル「在籍人数」にcountifの様な方法で、値を返せればと思っています。

まず、社員名簿というテーブルがあります。
フィールドが
「エリア」(値一覧で選択、[東日本、中部、西日本、本社])
「部署」(値一覧で選択、[管理本部、事業本部、CS、BS]など)
「雇用形態」(値一覧で選択、[正社員、試験社員、契約社員]など)
「職責」(値一覧で選択、[部長、マネージャー、一般]など)
「性別」(男・女)
などです。

在籍人数テーブルは表の様に表すのが希望です。
例えば
「東日本」の「CS」部で「正社員」のうちの「一般」社員で「男」を
社員名簿履歴からカウントするフィールドを作成
上記のような感じで部署や雇用形態が違うフィールドをいくつも作成して最終的には合計人数を出したいのです。

エクセル的な考えでcountifを使用するつもりだったのですが、使えない事がわかり・・・。

ファイルメーカー初心者なので、なかなかいい方法が思いつかず困っています。

ぜひ、アドバイスお待ちしております。

はじめまして
初めての質問です。

環境はWinXP ファイルメーカーpro7です。
テーブル「社員名簿」のレコードからテーブル「在籍人数」にcountifの様な方法で、値を返せればと思っています。

まず、社員名簿というテーブルがあります。
フィールドが
「エリア」(値一覧で選択、[東日本、中部、西日本、本社])
「部署」(値一覧で選択、[管理本部、事業本部、CS、BS]など)
「雇用形態」(値一覧で選択、[正社員、試験社員、契約社員]など)
「職責」(値一覧で選択、[部長、マネージャー、一般]など...続きを読む

Aベストアンサー

集計結果を表にする時のレイアウトの自由度を考えると関連テーブルからリレーションを使った
計算がいいかも知れません。

在籍人数テーブルに社員名簿テーブルにあるフィールドを全部作ります。社員名簿テーブルには
重複のない社員IDなどというフィールドも必要です。

例えば、社員名簿テーブルと在籍人数テーブルの「エリア」と「部署」と「雇用形態」の3フィー
ルドとも等しいというリレーションを作って、とCount(社員名簿テーブル::社員IDフィールド)と
いう計算フィールドを定義します。

在籍人数テーブルの「エリア」と「部署」と「雇用形態」の各フィールドにそれぞれ「東日本」
「CS」「正社員」と入力するとその人数が出ます。

QFilemakerで検索フォームを作りたい

Filemaker 11 Pro Advanced で、以下の様な機能を持つフォームを作成したいと思っております。

1.フォームがあり、そこに検索ボックスがある。
2.そこの検索ボックスで検索すると、データベースA上から該当するレコードを検索し、同フォーム上にリスト表示
3.そのあと、その検索結果のレコードをダブルクリックとかなんとかすると、そのレコードのいくつかの情報が、フォームに自動入力される。(このフォームに入力すると、データベースBに書き込まれるものとします)
4.さらに、入力者が追加情報をフォームに書き込んで終了。

Filemaker初心者なもので、1番から3番をどうやって実装するのかどうかがわかりません。
お手数ですがご教授お願いいたします。

また、Filemakerの入門レファレンスのWebや書籍があればそちらも教えていただければ幸いです。

Aベストアンサー

放置されていましたので、簡単に
1、2は基本的な機能です。レイアウトモードにし、検索したいフィールドを含むレイアウトを作成します。そのとき「レコードを表示」の選択をAにしておきます。データベースAを対象にするという意味です。
次に検索モードにし、該当するフィールドに入力すると、該当するレコードが表示されます。「リスト表示」を選ぶと該当するレコードがリスト表示されます。
3は、スクリプトを作って、ボタンに割り付けておけば可能です。

参考書として「FileMaker Pro大全」を使っています。古いです。
最近では少し新しい「FileMaker Pro大全 ver.7~9 edition」が出ているようです。網羅的に書かれた分厚い本です。
それ以降出版された本はチェックしてませんので、本屋さんででも確認ください。
FileMakerはバージョンが上がってもほとんど機能は変わりませんので、少し古いバージョンの本でも十分使えます。

Qファイルメーカで検索窓の作成

ファイルメーカpro11でレイアウト画面内に自分で検索窓を作りたいのですがうまく行きません。
テキストの入力欄があってそこに品番を入力し検索ボタンをおすと検索結果が表示されるというシンプルなモノですが、グローバルフィールドをつくったりいろいろためしましたがだめでした。
初心者な質問で申し訳ありませんがよろしくお願いします。

Aベストアンサー

簡単なのは
元レイアウトに「検索モード」というボタンを作ってレイアウト切り替え(レイアウト2へ)
にしておく。
新規レイアウトでレイアウト2を作り、検索条件入力用のグローバルフィールドを置き
その横に「検索実行」ボタンを配置。
検索実行ボタン用のスクリプトを作る。
 ・切り取り グローバルフィルド
 ・レイアウト切り替え 元レイアウト
 ・検索モードに切り替え 一時停止しない
 ・貼り付け 検索するフィールドに
 ・検索実行 条件を記憶しない

検索レイアウトに移動する部分を新規ウインドウにしてウインドウサイズ変更などを
加えると、よりそれらしくなります。
検索実行スクリプトは検索しても該当するレコードが無かった場合等のためのエラー
処理も考えて下さい。

Q重複を除外したカウント方法を教えてください

FileMaker Pro Advanced 10を使用しています。
同月内で同一レコードの重複を除外したカウントをしたいです。
私なりに試行錯誤しているのですが、上手く構築することが出来ません。
ご教授頂けると助かります。

例)
年月日 レコード
2012/01/04 A
2012/01/15 B
2012/01/20 A
2012/02/01 B
2012/02/02 C
2012/02/15 A
2012/02/16 B

とした場合、

2012/01は2カウント
2012/02は3カウント

としたいのです。

Aベストアンサー

年月で自己リレーションして、A,B,C(レコード?)の動的値一覧を
設定すると重複を除いたリストになります。それをValueCount
関数で行数を計算させます。

1例
http://pupld.net/14/120430/y7uogv6qop/index.cgi

QFilemakerのIF関数の関数式

FilemakerのIF関数の正しい関数式の作り方について教えてください。


Aが、「BまたはC」の条件を満たす場合は45を、満たさない場合は60を表示させるIF関数として、以下の関数式を作成・入力しましたが、うまく結果が出ません。どこが間違っているのか教えてください。困ってます(T-T)
ちなみにB、Cは全角文字という想定で“”をつけています。
If ( A=”B” or “C”; 45; 60 )

Aベストアンサー

ifで作るより、caseで作った方が楽だと思います。
case(
A=”B”;45;
A=”C”;45;
60)
で大丈夫です。

QFileMakerのcase関数の作り方

合計20個の条件(条件1~条件20)を詰め込んだ「case関数」を書いてみたところ、正常に結果を返してきてくれたのは最初の2つ(条件1、条件2)だけで、条件3以降は全て条件2の結果を返してきます。なぜでしょうか??
数十個に及ぶcase関数は、そもそも無理なのでしょうか? 記号の入れ方のコツをご指南ください。

Aベストアンサー

Case文の書き方が間違ってますね。
2行目以降も、計算式の内容が必要です。

あと、計算式は見やすいように以下のような表記にした方がいいですよ。
Case(
希望到着年月="2014年8";"August, 2014";
希望到着年月="2014年9";"September, 2014";
希望到着年月="2014年10";"October, 2014";
あとは同様に~~
)

QファイルメーカーのMax関数について教えてください。

ファイルメーカーを勉強中なのですが、
Max関数でIDを自動取得しようとすると「再帰定義」
のメッセージが出てうまくいきません。

Max(ID)+1
↑このような設定にしています。

最大値に+1した値を新規レコードのIDにしたいのですが、
ファイルメーカーではできないのでしょうか?
Max関数以外でもいいのですが、方法がありましたら
教えてください。

Aベストアンサー

ファイルメーカーは「再帰定義」が苦手ですよね。(^^;;
私は、自動取得にはせず、スクリプトを組んでIDを生成しています。
1)一旦、グローバルフィールドにIDのMAX値を入れます。
2)IDフィールドに上記のグローバルフィールド+1の値を入れます。

ちょっと手間ですけれど、これで一つのファイルで、2000年度、2001年度などそれぞれのMAX値を生成したりしています。

Qファイルメーカーで該当件数を表示させるには?

初心者で申し訳ありません。
検索をかけて出てた該当件数をフィールドに表示するにはどうすればいいのでしょうか?
計算フィールドで
Status(対象レコード数)
と指定したのですが、「指定された定数はステータスフラグではありません」と表示されてしまいます。

Aベストアンサー

Status (対象レコード数)

で、合っています。

タイプミスしていませんか?

しいて注意を添えれば、
索引オプションで、
「計算結果を保存せず必要時に計算する。」に
チェックを入れることぐらいです。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング