- ベストアンサー
Access2000 顧客マスターを作ってます
アクセス2000で、顧客リストを作っています。 会社名を、正式に「株式会社○○○」と入力し、自動的にフリガナ欄に入力できるようにしたいのですが、「カブシキガイシャ○○○」と入るのではなく、「○○○」と入力できるようにしたいんです。 また同じように「○○株式会社」の場合は「○○」とだけ入力できるように。 自動的にフリガナが入力できる方法は見つかったのですが、どうしても株式会社を自動で除く方法がわかりません。 ソートして便利に使うためにも、必要なので教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
「カブシキガイシャ」をカットするプロシージャーを作成し、フリガナ欄のコントロールのAfter_Updateなどのイベントでコールすれば良いかと。
その他の回答 (1)
- KenKen_SP
- ベストアンサー率62% (785/1258)
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