みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
契約番号を種類に応じて
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
どううまくいかないのでしょう?
数字は二桁以上有るのでしょうか?
テキストですから、その場合は桁数をそろえないとダメですよ。
でなければ、
三つのフィールドに分解してソートですね。
あっ
A1 A2 A11
と有った場合はまずいですね。
Offline
三つのフィールドに分解してソートするしかないのでは。
PAがP1より前という基準が不明ですが。どうしてもそういう恣意的な順番にしたければ、値一覧を作ります。
ありがとうございます。
例えばP01-001-01の様に桁を合わせたとして、
3つのフィールドに分ける01 と 001 と 01 の部分をフィールドに分けるにはどうしたらいいですか?
テキスト関数で、左右から何文字というのはあるのですが、何文字目~何文字目を取り出す関数がわかりません。
Offline
P01-001-01
これなら、そのままでソートできそうですが、、
「-(ハイフン)」で区切って分割するのは、
Position関数で「-」の位置を得て、
Length関数で、取り出す文字数を計算、
Middle関数で真ん中のテキストを取り出せます。
別の方法
「-」を「¶」に変えて、改行テキストにすれば、
GetValue関数で1行ずつ取り出せます。
sorterさんの指摘はどうなんでしょう。
Offline
ありゃ?
例えばP01-001-01の様に桁を合わせたとして、
3つのフィールドに分ける01 と 001 と 01 の部分をフィールドに分けるには
これだとアルファベットはどうするんですか?
P01
からアルファベットと数字を分けるのは、
アルファベットの文字数が決まっているのなら、
Left関数でアルファベット、
Right関数で数字
を取り出せます。
文字数が不定なら、
Filter関数で、フィルタテキストにアルファベットを全て並べて取り出せます。
それで取り出したアルファベットの文字数から、上記と同様に数字も取り出せますね。
Offline
Pages: 1
[ Generated in 0.010 seconds, 7 queries executed - Memory usage: 508.13 KiB (Peak: 514.77 KiB) ]