このサイトは、Access/ExcelとBitシリーズを活用し、顧客管理やマーケティングを行うために知っていると便利な実用的テクニックをご紹介するサイトです。
  各種データベースと連携 (Access/Excel/SQL Server/Oracle)
掲載記事
関連サイト






前のページへ戻る
Newsbit社ホームページ
Bitシリーズ
データベス制作業務
コンサルティング業務
ホームページ制作
インターネットマーケティングニュース
BitplusPRO
BitMailPRO
BitDelete
BitSearch
迷惑メール削除専用ソフトウェア
緊急連絡網用エクセルファイル
受注管理データベース
アドレス管理データベース
今回は、Accessのフォームで入力文字数を制限する方法について説明します。

Accessのフォームで入力した文字を印刷してみると半分も印刷されていないといったことがあります。
このような場合、レポートのレイアウトを調整して印刷される文字数を大きくするのも一つの方法ですが、印刷される文字数だけしかフォームで入力できないようにするのがスマートな方法です。
Accessのテキスト型のフィールドについては、プロパティのフィールドサイズを指定することができ、最大255文字までの範囲で最大文字数を指定できますが、メモ型のフィールドのプロパティにはフィールドサイズの項目がありませんので、別の方法で制限する必要があるのです。

テキスト型のプロパティで文字数を制限する
では、早速データベースのテキスト型のフィールドのプロパティのフィールドサイズを10としてテストしてみましょう。
今回もBitplusPROに付属するsample.mdbを使用してご説明します。
sample.mdbを使用していてデータが入っている場合には、別のファイルでテストしてください。

まず、テーブルをデザインビューで開いて、会社名のフィールドサイズを255から10に変更してみます。
変更したら、変更を保存してフォームを開きましょう。
フォームの会社名に半角数字で、「0123456789」と入力すると確かに10文字で制限されていることがわかります。
次に、全角文字で「あいうえおかきくけこ」と入力してみてください。
残念ながら「あいうえお」までしか入力できないでしょう。
つまり、全角文字は2バイトなので、当然ですが1文字が2文字分となるわけです。
したがって、全角文字を10文字で制限するなら、プロパティのフィールドサイズを20にする必要があるわけです。

メモ型のフィールドの文字数を制限する
今度は、簡単なプログラムを使用してテーブルのデータ型がメモ型フィールドの入力できる文字数の制限をしてみましょう。
まず、フォームをデザインビューで開きます。
そして、入力文字数を制限するメモ型のテキストボックスを右クリックしてください。
次のようなメニュー(画像はAccess97の場合)が表示されますので、プロパティ(P)を選択してください。

プロパティの画面が表示されますので、縦方向にスクロールして画像のように更新後処理をクリックします。

クリックするとボタンが2つ表示されますので、右側のボタンをクリックしてください。

ビルダ選択の画面が表示されますので、コードビルダを選択して[OK]ボタンをクリックしてください。
次のようクラスモジュールの画面が表示されるはずです。

画面と同じように3行文字を入力してください。
1行目と2行目の10という数字が制限する文字数ですから、この数字を100とすれば、全角文字で50、半角文字で100入力できるようになります。
適当な数字を入れてお試しください。

正しく入力が出来たら、この画面を閉じて、フォームを保存します。

再びフォームを開いて、MEMOに何か入力してみてください。
入力して他のテキストボックスに移動すると入力オーバーした分が切り取られて短くなります。

まとめ
今回の方法でフィールドのデータ型がメモ型でも文字数を制限できるようになりましたので、レポートのサイズに合わせて文字数を制限することが出来ます。
ただ、今回は、何の文字を切り詰める際に何のメッセージも出していませんので、必要に応じてメッセージを表示されるなどの工夫は必要かもしれません。

また、今回使用したstrConvという関数は、大文字を小文字にしたり、半角を全角にすることも出来ますし、ひらがなをカタカナに変換することも出来る便利なものです。
是非、工夫してお試しください。

   
  前のページへ戻る
  ▲ページトップへ
Copyright©2008 Newsbit co.,ltd.All Rights Reserved.