Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

はじめに

 この記事は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でいくつか記事を書いてみようかな。

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

kurinpasu
主に自分用のマニュアルを作成・投稿しています。 投稿する記事の内容は個人の意見であり、所属する企業の見解を代表するものではありません。
japan-systems
「2019年に50周年を迎えたIT企業です。最先端の技術により全国の企業、官公庁、自治体に多くの実績があります。」
https://www.japan-systems.co.jp/
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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした