Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

Filemaker 字数制限をスクリプトで実装する

はじめに

 この記事はFileMakerで作成したフィールドに文字を入力する際に、字数制限をスクリプトによって機能させようという趣旨のものです。

 システムを組んでいる上で、特定のフィールドに字数制限をしたいのですが、FileMakerにもともとついている機能を使うと都合よく動きません。また、ここでそれに該当する記事を探したのでなかったので、スクリプトで自作しました。

動作環境

MacBook Pro
OX X 10.12.1
FileMakerPro14 Advanced
※2017/12/26:FileMakerPro16 Advancedでの動作を確認

FileMakerの字数制限

FileMakerの機能を使えば字数制限自体は可能である。しかし、ポップアップが出たのちに、そのデータのまま入力を続けることができてしまいます。これでは、帳票に出力した際に、字数オーバーしたデータが出力されない事態が発生してしまいます。これでは都合が悪いので、どうしても字数オーバーできないようにしたいです。

スクリーンショット 2016-12-12 15.26.31.png

スクリプトによる実装

以下スクリプト

スクリーンショット 2016-12-12 15.29.51.png

 ここでは、半角、全角が同居していても文字数を判断したいため、バイトで判断するようにしています。
バイトで文字数をカウントするためには、「lengthb」を、バイトで文字数をカウントしてleft関数と同様の働きをさせるには「leftb」をそれぞれ用意する必要があります。
 それらの関数は、ここに乗っています。

また、この関数を設置する個所として、スクリプトトリガのOnObjectSaveを選択し、スクリプト引数に最大文字数(バイトなので、基本全角最大文字数*2)を入力する。

そして、スクリプトを設定したフィールドで文字数を超過すると、以下のような表示が出ます。

スクリーンショット 2016-12-12 15.37.22.png

表示が出たのち、OKを押すと文字数制限を超えた分だけの文字列が削除されます。

最後に

FileMakerはリファレンスが充実していないので、もっぱらcommunityを利用しているのですが、qiitaとかでももっと記事が増えた方がいろんな人が使えていいなと思いました。

自分も、FileMakerでいくつか記事を書いてみようかな。

何か、質問点・問題点があれば教えてください。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
1
Help us understand the problem. What are the problem?