- ベストアンサー
VB6
株式会社と(株)って同じ意味だと思うんですが、 検索すると下のように処理されてしまいます。 検索キーに入力したのが(株)○○ならば (株)○○と完全一致、もしくは部分一致したデータのみが表示され、 株式会社××は表示されません。 逆に、検索キーに株式会社××と入力した時は、 株式会社××と完全一致、 もしくは部分一致したデータのみが表示され、 (株)○○は表示されません。 (有)と有限会社も同様です。 どうにかして株式会社=(株)と認識させ (株)(もしくは株式会社)と検索入力した際に (株)、株式会社ともに表示されるようにしたいのですが、 できるのでしょうか。VB6を使ってます。 よろしくお願いします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
<table1> ID___会社名 1____(株)朝日 2____株式会社夕日 3____朝日(株) 4____夕日株式会社 >どうにかして株式会社=(株)と認識させ... [イミディエイト] ? DBSELECt("select * from table1 WHERE REPLACE(会社名, '株式会社', '(株)') Like '%(株)%';") 1;(株)朝日; 2;株式会社夕日; 3;朝日(株); 4;夕日株式会社; 書かれている範囲でしたら・・・。 ただし、DBの設計の問題であれば、通常は、列[会社区分]を設けるでしょうね。 >株式会社と(株)って同じ意味だと思うんですが・・・ 社名として捉えれば同一視できないですよね。 会社区分として捉えれば同一視できますよね。 この、社名と区分の矛盾を解消するには列[会社区分]を設ければ一発です。 その辺りの事情が皆目不明ですから何とも言えないです。
その他の回答 (6)
基本的に「株式会社」と「(株)」は同じです。 しかし宛先に「(株)」と表記すると失礼に当たることもあります。 また、検索のことを考慮すると、会社名フィールドには「株式会社」等を抜いた名称を保存し、「会社区分ID」と「前・後」の各フィールドを追加設定することをお勧めします。 さらに別途、「会社区分マスタ」を追加し、 「会社区分ID」「会社区分名」「略号」といったフィールドを設定しては如何でしょう。
お礼
回答ありがとうございます。 返事が遅くなって申し訳ありません。 新しく会社区分を追加する事で 無事解決をする事ができました。
- imogasi
- ベストアンサー率27% (4737/17069)
後株・前株 略号種類 (株)、株)、(株、KK、kk.、株式会社、カ) 会社名本体との間のスペースの有無 会社組織種類 株式、合資、合名、有限、社団法人・・ 略称・俗称 トヨタ トヨタ自動車 この組み合わせで、ありえるわけですから、大変です。 仕事や他人が使うソフト・売り物のソフトなら、やはり丁寧に作りこまないと。 これはVBに頼れる部分は多くありません。Like *もInstr 関数とそんなにかわらない。 面倒ですが、コードが長くなっても、やると決心することです。
お礼
回答ありがとうございます。 そこまで考えが及びませんでした・・・
他の方々の回答のように、入力された検索キーを分解して(「株式会社××」と入力されたら、「株式会社」と「××」に分解して)、株式会社の部分はOR条件で、××の部分はAND条件で検索すれば求める結果になると思いますが・・・ かなり大変ですよ。 「株式会社」だけを見ても、(株),カ),(カブ),(K.K.)・・・などなど色々な省略をされますので、全パターンを考慮しないといけません。 有限会社,合資会社,学校法人,医療法人・・・などなどに対して同じように考えてあげないといけません。 もし可能なら、検索対象がDBなのかファイルなのかわかりませんが、1度データを見直して、正規化(データ上は必ず株式会社と登録)された上でロジックを考えられることをおすすめします。 または運用で、検索キーに株式会社などは入力しないで、会社の固有名だけを入力してください・・・とするかですね。
補足
回答ありがとうございます。 検索対象はDBです。 そうですね。一度見直してみようかと思います。
- shut0325
- ベストアンサー率40% (490/1207)
希望の結果を得たい場合、通常なら like (株式会社* OR (株)*) という風にORしますよね?(記述は例です。) 同様に検索を始める前に検索ワードを確認して指定のワードが含まれた場合はORで追加してあげれば良いかと思います。 でもK.K.はどうするのでしょう?? K.K とする人もいますし、KKとする人もいます。 どのような使途なのか不明ですが、通常インターネットなどで会社を調べるときに株式会社○○ とはあまり検索せずに、単に会社名 ○○ と検索するような気がするのですが、、、
補足
回答ありがとうございます。 そうですね、検索する際に株式会社○○とまで入れることは 確かに稀ですね・・ 使途というか、会社での練習問題なので 特に他の会社で使うという事ではないと思います。
- kokorone
- ベストアンサー率38% (417/1093)
kaisyamei like '(株)%' or kaisyamei like '%(株)' or kaisyamei like '株式会社%' or kaisyamei like '%株式会社' という条件で、検索すれば可能ですが、 会社区分は、株式会社・有限会社だけではないですから、 結構大変ですよ。
補足
回答ありがとうございます。 あくまで、会社の練習問題なので 区分は株式会社と有限会社のみでいいようです
- j_nishiz
- ベストアンサー率26% (183/697)
VBで組んでいるのであれば、(株)、(有)の場合に例外処理をさせればよいのでは? if instr(input,"(株)") > 0 then input = left( instr(input,"(株)") ) & "株式会" & mid ( instr(input,"(株)") ,) みたいな感じで。 書いてる内にこんがらがってきたのでこの辺で。
お礼
回答ありがとうございます。 参考にさせていただきます。
お礼
回答ありがとうございます。 >>社名と区分の矛盾を解消するには列[会社区分]を 設ければ一発です。 なるほど。 そういう考え方もあったのですね。 列の追加という考えがすっぽい抜けていました。 参考にさせてもらいます!