プロが教える店舗&オフィスのセキュリティ対策術

アクセス2000で、顧客リストを作っています。

会社名を、正式に「株式会社○○○」と入力し、自動的にフリガナ欄に入力できるようにしたいのですが、「カブシキガイシャ○○○」と入るのではなく、「○○○」と入力できるようにしたいんです。

また同じように「○○株式会社」の場合は「○○」とだけ入力できるように。
自動的にフリガナが入力できる方法は見つかったのですが、どうしても株式会社を自動で除く方法がわかりません。

ソートして便利に使うためにも、必要なので教えてください。

A 回答 (2件)

「カブシキガイシャ」をカットするプロシージャーを作成し、フリガナ欄のコントロールのAfter_Updateなどのイベントでコールすれば良いかと。

    • good
    • 0

No.1です。

補足します。

簡単なのは、「フリガナ」フィールドの置換で「カブシキガイシャ」をカットする方法でしょうか。しかし、データによっては余分なスペースが残ったり、それを削除するのが難しかったりしますね。そうなってくると結局、ソートで期待どおりに並び替えができないでしょう。

したがって、ある程度確実に、かつ自動でやるにはVBAで処理するしかありません。限られたスペースでは細かくご説明できませんので、ヒントということでお願いします。

【標準モジュール】
まず、下記ユーザー定義関数 CutStr を標準モジュールに貼り付け。


Public Function CutStr(strParam As String) As String

  Dim aryCutWord
  Dim i As Long

  'カットする語を定義(財団や社団法人なども必要であれば、要編集)
  aryCutWord = Array("カブシキガイシャ", "ユウゲンガイシャ")

  For i = 0 To UBound(aryCutWord)
    strParam = Replace(strParam, aryCutWord(i), "", , , vbTextCompare)
  Next i
  CutStr = Trim(strParam)

End Function


【ユーザーフォーム】
入力用ユーザーフォームには

1. 会社名入力テキストボックス:txtName
2. 会社名フリガナ入力テキストボックス:txtKana

があり、txtName のプロパティー「ふりがな」で txtKana にフリガナが全角カナで自動入力されるように設定します。そして、txtName の BeforeUpdate イベントなどで前述のユーザー定義関数をコールします。
以下は、サンプルコードです。


Private Sub txtName_BeforeUpdate(Cancel As Integer)

  If Not IsNull(txtKana) Then
    txtKana = CutStr(txtKana)
  End If
 
End Sub
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!