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

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

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

You are not logged in.

Announcement

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


#1 2015-05-20 13:47:16

にょろ
Member

契約番号のソート

契約番号を種類に応じて

PA-1-1
PA-2-1
PA-3-1
PA-3-2
P1-1-1
P1-2-1
P1-3-1
P1-3-1
P2-1-1
P2-2-1
P2-2-2

というように、商品の種類 - 商品の通し番号 - 契約の通し番号
といようなコードを利用してます。
これを、商品の種類、商品の通し番号、契約の通し番号の順でソートしたいのですが、うまくいきません。
ご教授下さい。

FMP12 WIN MAC 混在です。
いつもありがとうございます。よろしくお願い致します。

Offline

#2 2015-05-20 15:29:50

チポ
Member

Re: 契約番号のソート

どううまくいかないのでしょう?

数字は二桁以上有るのでしょうか?
テキストですから、その場合は桁数をそろえないとダメですよ。

でなければ、
三つのフィールドに分解してソートですね。

あっ
  A1  A2  A11
と有った場合はまずいですね。

Offline

#3 2015-05-20 15:47:29

sorter
Guest

Re: 契約番号のソート

三つのフィールドに分解してソートするしかないのでは。
PAがP1より前という基準が不明ですが。どうしてもそういう恣意的な順番にしたければ、値一覧を作ります。

#4 2015-05-20 16:10:02

にょろ
Member

Re: 契約番号のソート

ありがとうございます。
例えばP01-001-01の様に桁を合わせたとして、
3つのフィールドに分ける01 と 001 と 01 の部分をフィールドに分けるにはどうしたらいいですか?
テキスト関数で、左右から何文字というのはあるのですが、何文字目~何文字目を取り出す関数がわかりません。

Offline

#5 2015-05-20 17:50:43

チポ
Member

Re: 契約番号のソート

P01-001-01

これなら、そのままでソートできそうですが、、


「-(ハイフン)」で区切って分割するのは、
  Position関数で「-」の位置を得て、
  Length関数で、取り出す文字数を計算、
  Middle関数で真ん中のテキストを取り出せます。


別の方法
「-」を「¶」に変えて、改行テキストにすれば、
  GetValue関数で1行ずつ取り出せます。


sorterさんの指摘はどうなんでしょう。

Offline

#6 2015-05-20 18:10:13

チポ
Member

Re: 契約番号のソート

ありゃ?

例えばP01-001-01の様に桁を合わせたとして、
3つのフィールドに分ける01 と 001 と 01 の部分をフィールドに分けるには

これだとアルファベットはどうするんですか?


P01
からアルファベットと数字を分けるのは、
アルファベットの文字数が決まっているのなら、
Left関数でアルファベット、
Right関数で数字
を取り出せます。

文字数が不定なら、
Filter関数で、フィルタテキストにアルファベットを全て並べて取り出せます。
それで取り出したアルファベットの文字数から、上記と同様に数字も取り出せますね。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.010 seconds, 9 queries executed - Memory usage: 507.59 KiB (Peak: 514.14 KiB) ]