質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

解決済

2回答

566閲覧

ACCESS 同じ文字として認識

misima

総合スコア17

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2018/07/11 04:27

編集2018/07/11 04:56

顧客フォームと顧客登録フォームというフォームを作成しました。顧客フォームには登録画面ボタンを作成しボタンクリック時に顧客登録フォームに移動するようになっています。

顧客登録フォームには、顧客番号、顧客名を入力します。

顧客登録フォームで入力したデータは顧客フォームに新規レコードとして追加されるようにしました。

If DCount("*", "テーブル1", "[テキスト1]='" & 仮 & "'") > 0 Then

MsgBox "そのデータはすでに登録済みです" cancel = True

このようにVBAを組んでいます。

テキスト1に入力した物が、テーブル1のフィールド"仮"にあった場合に、「登録済です」と表示される様にしています。

顧客フォームに[(株)グリーン]というレコードがあったとして、顧客登録フォームで[株式会社グリーン]と入力したときに、「(株)」と「株式会社」という文字を同じ文字として認識させ、「そのデータはすでに登録済みです」と表示されるようにしたいです。

どのようなVBAにすれば「(株)」[株式会社]を同じ文字として認識させることができるのか、ご教示願います。

環境は以下の通りです。

OS:win7
ver:2003

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/07/11 04:32

このままでは丸投げ質問(非推奨質問の代表格です)となってしまうので、自身が調べていく中でやってみたコードをご提示ください。その上で「何が」「どう」分からなかったのか記載してください。 https://teratail.com/help/question-tips
y_waiwai

2018/07/11 04:33

仮データ株式会社とか、仮データ(株)とか。。
misima

2018/07/11 04:37

すいません。修正します
guest

回答2

0

ベストアンサー

まず、すべきことはデータの正規化です。

例えば「株式会社」の場合、正式名称の「株式会社」以外の略称も許容すると、
「(株)」以外にも「㈱」「㊑」「㏍」「K.K.」「㍿」などで入力された場合も、考慮する必要がでてきます。ユーザー任せにすると思いもよらぬ略称を使う場合もあります。

登録するとき法人格の略称入力は禁止する、また、略称で入力された場合は、自動で正式名称に変換するという処理を組み込むべきでしょう。すでに入力済みのデータの略称も正式名称に変換しておきます。

テーブルには、正式名称の法人格しか存在しないという前提にしておけば、
略称で入力された場合は、正式名称に変換してから、入力済みデータを検索すればいいでしょう。

テキストボックスの更新後処理あたりで変換するようにすれはいいでしょう。

あるいは、
前法人格、法人名、後法人格 というよに3つのフィールドに分けて、
法人格はコンボボックスにしておくという方法ならより確実です。
コンボボックスの値集合ソースは、法人格マスターテーブルにしておきます。
「入力チェック」を「はい」にしておけば、マスターにないデータは登録できないので、
表記ゆれは皆無です。

投稿2018/07/11 07:37

hatena19

総合スコア33699

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

misima

2018/07/11 23:54

回答ありがとうございます!
guest

0

違う文字を同じと認識させるには、そのパターンが必要になります。
パターンがなければ一致させることはできません。

名寄せに関しては、データの持ち方として、社名と法人格は別項目としておいたほうが良いと思います。
請求書等で使用するケースを考慮して専用の項目をもたせておき、使用する場合にはその項目に値が設定されている場合にはそちらを優先するようにすれば良いですし。

重複については法人格は除き、社名と住所や電話番号との組み合わせでチェックするようにしたほうが、法人格の表記ゆれに悩まされずに済みます。

投稿2018/07/11 05:14

編集2018/07/11 05:16
sazi

総合スコア25173

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

misima

2018/07/11 23:54

回答ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問