みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FMS19とFMP19でWindows環境、ServerはMACMini(10.14.6)の構成です。
QRコードリーダでフィールドにデータを読み込みます。
このデータはタブ区切りで情報が格納されています。
今3番目のタブの後ろのテキストを切り出したいのです。
よろしくお願いします
Offline
Position() で3番めのタブの位置を求めれば簡単に取り出せるでしょう。
または、タブを改行へ置き換えて(Substitute())、RightValue() で4項目以降を取り出し、改行を求に戻してみてもいいかも。(元テキストに改行が含まれていないこと)
Last edited by Shin (2022-09-19 21:52:35)
Offline
ありがとうございます。
別のフィールドにこの3番目のタブの後ろのデータを格納したいわけです。
このフィールドは計算式で自動的に3番目のタブの後ろのデータが表示されるようにしたいのです。
計算式はどんな計算式になりますか?
Offline
3番目のタブまでを削除
Replace ( text ; 1 ; Position ( text ; Char(9) ; 1 ; 3 ) ; "" )
3番目以外のデータは、すべて破棄ですか?4番目とか10番目のデータもあるのでは。
Offline
Char(9)がタブを表す文字コードなんですね。
データはこの3番目のデータだけがほしいのです。
Offline
「3番目のタブの後ろのデータ」なら、4番目ですよね。
後ろ全部じゃないなら、#2のShinさんの「タブを改行へ置き換えて」が簡単でしょう。
(データには改行がないとして)
GetValue ( Substitute ( data ; Char(9) ; Char(13) ) ; 4 )
データに改行があるなら、最初に改行を他の文字Char(1)とかに置換して、取り出した後で元に戻します。
なるほど、過去の記事にShinさんが回答されていたタブを改行におきかえて というのは読みましたが、意味がわかりませんでした。GetValue関数がわかりませんでした。
よくわかりました。
やってみます。
データは4番目になりますね。ありがとうございました。
Offline
Pages: 1
[ Generated in 0.005 seconds, 11 queries executed - Memory usage: 512.32 KiB (Peak: 516.86 KiB) ]