Servler検索でテーブル全体から1文字で検索できるのか?

このQ&Aのポイント
  • Servler検索でHTMLからの検索値を受け取り、Accessのデータから検索する方法について教えてください。
  • テーブル全体から1文字で検索することは可能でしょうか?例えば、『東』と検索して結果を得る方法が知りたいです。
  • 検索のServletの処理について、指摘や助言などご教示いただけると幸いです。
回答を見る
  • ベストアンサー

Servler検索。

htmlから検索の値を、Servletで受け止めて、Accessのデータから検索するのですが、 http://oshiete1.goo.ne.jp/kotaeru.php3?q=190832  のログの内容では、 String s ="SELECT * FROM TABLE(テーブル名) WHERE Name(フィールド名)      ='"+htmlvalue(HTMLからの検索の値)+"'"; は、指定された、フィールドの中で検索をしていますが、 では、テーブル全体からの検索で、なおかつ、1文字で検索できるでしょうか? 例えば...  氏 名  | 住 所 ---------------------------------------- 鈴木一郎 | 東京都新宿区×△ー× ---------------------------------------- 山田花子 | 神奈川県川崎市中原区○△ー× ---------------------------------------- 東 太朗 | 神奈川県横浜市中区○×ー△ のような Access のテーブルから、『東』と検索をかけて、 検索結果が、  氏 名  | 住 所 ---------------------------------------- 鈴木一郎 | 東京都新宿区×△ー× ---------------------------------------- 東 太朗 | 神奈川県横浜市中区○×ー△ としたいのです。 結果の受け取り等は、わかるのですが、検索のServletの処理がわかりかねています。 指摘、助言宜しくお願いします。

  • Java
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • syousuke
  • ベストアンサー率61% (13/21)
回答No.1

SQLのLike演算子を使用してみてはいかがでしょう? String s = "SELECT * FROM TABLE(テーブル名)"      + " WHERE Name(フィールド名1) = '" + htmlvalue(HTMLからの検索の値)"      + " or Name(フィールド名2) = '" + htmlvalue(HTMLからの検索の値)"; こんな感じでどうでしょう

takuya_m
質問者

補足

今回は、早急の回答ありがとうございます。 syousukeさんの回答で、二つのフィールドからの値の取り出しがよくわかり 大変助かりました。 そこで、もう1つなんですが、検索で、上記のテーブル内容で、例えば 住所のフィールド内で『東』と単語で一致して値が取り出せる方法は ないでしょうかね? 重ねて質問するのは失礼とは思いますが、助言お願いします。

関連するQ&A

  • Accessフォーム 大分類→小分類を選択したい

    Access初心者です。 ほかの類似の質問を検索して試してみたのですが、 どうしても同じようにできません。 もう1週間も同じところでつまづいています。 どなたか、初心者にもわかるように教えていただければ幸いです。 以下のようなテーブルがあるとします。 [都道府県] [市区町村] 東京都  新宿区 東京都  港区 東京都  渋谷区 神奈川県  横浜市 神奈川県  川崎市 神奈川県  藤沢市 埼玉県  さいたま市 埼玉県  熊谷市 埼玉県  三郷市 フォーム上で、 [都道府県]のコンボボックスで東京都を選んだ場合、 [市区町村]のコンボボックスには「東京都」の市区町村名が 選択できるようにしたいのですが、 一番最初のところで行き詰っています。 コンボボックスウィザードにしたがって [都道府県]のコンボボックスを作成すると、 [東京都] [東京都] [東京都] [神奈川県] [神奈川県] [神奈川県] … というリストが出てきてしまいます。 過去の質問を検索し、プロパティの値集合ソースで、 SELECT[都道府県]…FROM[テーブル名]の後に、 GROUP BY[都道府県]と書き加えたのですが、 こうするとリストが出てこなくなります。 いったいどうしたらよいのでしょうか。 ほとほと困っています。 どうかご教示ください。お願いいたします。

  • エクセル キーとなる項目で判別し重複データ行を削除したい

    エクセル2002を使用しています。 差込印刷用のデータとして整える方法を教えていただきたいと存じます。 具体的には、子供ごとのレコードデータから、親宛の封筒宛名ラベルを作成したいと考えていて、2人兄弟や3人兄弟の場合でも封筒は1通なので、 キーとなる項目を目安に、不必要な行を削除すればできると考えましたが、具体的な方法がわからないでいます。 現在のデータは、以下のものです。(簡潔にするために列を部分的に省いています) 世帯コード   親の氏名   住所           子の氏名 0011223    鈴木 一郎  東京都千代田区一丁目   鈴木 次郎 0011223    鈴木 一郎  東京都千代田区一丁目   鈴木 三郎 0011223    鈴木 一郎  東京都千代田区一丁目   鈴木 四郎 0011556    山田 花子  埼玉県川口市中央     山田 洋子 0011556    山田 花子  埼玉県川口市中央     山田 和夫 0153355    佐藤 次郎  千葉県船橋市海浜     佐藤 みく 0002333    鈴木 一郎  神奈川県川崎区高津区   鈴木 空 0002333    鈴木 一郎  神奈川県川崎区高津区   鈴木 陸 これを、次のように「世帯コード」で判別して世帯ごとの最初の行だけを抜き出したり、2行目以降を削除したりできれば、差込印刷用のデータとして利用できると思います。 世帯コード   親の氏名   住所           子の氏名 0011223    鈴木 一郎  東京都千代田区一丁目   鈴木 次郎 0011556    山田 花子  埼玉県川口市中央     山田 洋子 0153355    佐藤 次郎  千葉県船橋市海浜     佐藤 みく 0002333    鈴木 一郎  神奈川県川崎区高津区   鈴木 空 (世帯ごとに一行ずつになっています。親の氏名のうち、鈴木 一郎 さんは、同姓同名の方です。世帯コードが違うので区分できます。) エクセルの機能でこのようにできる方法はあるでしょうか? もしくは別の方法でも、宛名ラベルを親宛に一枚印刷できる方法があるでしょうか? お願いいたします。 データ用のシートですので、行や列の挿入や別シートの利用などはすべてできますので、よろしくお願いいたします。

  • JAVA(JDBC)の検索について

    HTMLから名前の値をservletで受けとめServletでAccessのデータから検索をするのですが検索が一致しなかった場合エラーページに飛ばす設定したいのですが・・ 下記の内容後どうすれば・・・              String s ="SELECT * FROM TABLE(テーブル名) WHERE Name(フィールド名)='"+htmlvalue(HTMLからの検索の値)+"'"; このあとどのような条件を設定してエラーページに移すか? 手助けお願いします。

    • ベストアンサー
    • Java
  • 人名や会社名の検索方法を教えて下さい

    初歩的な事かも知れませんが、人名や会社名の検索方法がよく分かりません。 たとえば、鈴木一郎という人を調べたい場合、MSNやヤフーのポータルサイトから「鈴木一郎」と入力して検索すると、「鈴木よしお」と「中野一郎」の両方を含むページを何万件と表示してしまい、「鈴木」という名前と「一郎」という名前の両方を含んでいるページ全てが検索されてしまいます。 自分として必要なのは「鈴木一郎」についての情報だけなので、これ以外の名前を検索してこないようにするには、どうすれば良いのでしょうか?

  • 重複項目の抽出方法を教えてください!

    いつもお世話になっています。 本日の午前中までに作成しないとならないのですが、下記の動作がわかりません。 お分かりになる方がいましたらどうか教えていただけないでしょうか! 環境:SQL2000    windowsXP 【条件】 ・Aテーブルの番号列は全て”0”とする ・Aテーブルの1つの郵便番号が複数の住所をもつ→”0”のまま ・Aテーブルの1つの住所が複数の郵便番号をもつ→番号列を”1”とする。 ●Aテーブル ID  | 名前 | 郵便番号  | 住所   | 番号 ----------------------------------------------------------------------------- 01 | 小林  | 101-1000 | 東京都  |  0 02 | 鈴木  | 102-1000 | 東京都  |  0 03 | 鈴木  | 103-1000 | 茨城県  |  0 04 | 町田  | 105-1000 | 神奈川県 |  0 05 | 木村  | 105-1000 | 群馬県  |  0 ↓出したい結果↓ ID  | 名前 | 郵便番号  | 住所   | 番号 ----------------------------------------------------------------------------- 01 | 小林  | 101-1000 | 東京都  |  1 02 | 鈴木  | 102-1000 | 東京都  |  1 03 | 鈴木  | 103-1000 | 茨城県  |  0 04 | 町田  | 105-1000 | 神奈川県 |  0 05 | 木村  | 105-1000 | 群馬県  |  0 以上になります。どうぞよろしくお願いします!

  • エクセルで二つの表を一つに纏める方法は

    エクセル2007で作成した二つの表を一つに纏めたいのですが、何か方法はございますでしょうか? サンプル1のファイル  A列   B列 山本太朗,東京都 鈴木花子,静岡県 田中太朗,大阪府 サンプル2のファイル  A列   B列 田中太朗,男性 鈴木花子,女性 山本太朗,男性 この二つのファイルを以下のように一つの表に纏めたいのですが 共通項目はA列の名前で並び順に規則性はありません。  A列   B列 C列 山本太朗,東京都,男性 鈴木花子,静岡県,女性 田中太朗,大阪府,男性 エクセルでは厳しいようであれば他の方法を ご教授いただけるとありがたいです。 以上、宜しくお願い致します。

  • 別テーブルの複数のフィールドから検索

    以下のようなテーブルに地域が登録されています。 アドレステーブル(a) id zip pref city 1 124-0000 東京都 葛飾区 2 250-0000 神奈川県 小田原市 3 563-0000 大阪府 池田市 4 621-0000 京都府 亀岡市 もう一つユーザーテーブルがあります。 ユーザーテーブル(u) id name zip pref city 11 Aさん 124-0000 東京都 葛飾区 12 Bさん 135-0000 東京都 江東区 13 Cさん 250-0000 神奈川県 小田原市 14 Dさん 250-0053 神奈川県 小田原市穴部 15 Eさん 563-0000 大阪府 池田市 16 Fさん 563-0000 大阪府 池田市旭丘 17 Gさん 520-0000 滋賀県 大津市 18 Hさん 722-0000 広島県 尾道市 アドレステーブルの住所にマッチするユーザーのみを抽出したいと思います。 Aさん(id:1 = id:11)、Cさん(id:2 = id:13)、Eさん(id:3 = id:15)が抽出されるようにということです。 Dさんのようにzipとcityが一致せず、prefが一致しているものは除外とします。 Fさんのようにzip、prefが一致しているがcityが一致していないものも除外とします。 ようするに「a.zip = u.zip AND a.pref = u.pref AND a.city = u.city」としたいです。 上記を1度のSQL文で求めることは可能でしょうか。 よろしくお願いします。

  • アクセス2003で検索条件と検索キーワード検索

    アクセス2003で検索機能を作りたいです。 まずプルダウンで検索条件を選び、さらに検索キーワードを手入力し、その条件に見合ったものを抽出するという形。 検索条件とは、フィールド名。検索キーワードは、フィールドの中にある言葉。 質問 (1)マクロのフィルタの実行のwhere条件式において 〔フィールド名〕like~と入れているのですが、この頭のフィールド名をいじくれば良いのか? (2)ある識者に伺ったところ、次のVBA(イベントビルダ)を教わりましたが、オブジェクトに値を代入できませんと出てきました。 Me.filter=""&Me.![テキスト名1]&"like'"&"*"&Me![テキスト名2]&"*"&"'" Me.filterOn=True このテキスト名1をコンボに変更しました(非連結)。検索条件となるあるテーブルを値ソースとしています。何か自分が間違っていますか? できれば、クエリを使うことなく行きたい。 アクセスのつくりとしては、 基幹となるテーブルAとそれに1対多にあるテーブルBそしてテーブルBと1対1にあるテーブルCの3つをクエリを用いて1つのフォームに表しています。 その中のいくつかのフィールドを選択条件とし(プルダウンで選ぶ)、キーワード入力する。 小職、アクセスを始めたばかりです。どうかよろしくお願いいたします

  • Accessで一致データを抜いて項目をずらす方法

    Access2000を使用して、テーブル1のフィールド2~5で、テーブル2と一致したフィールドを抜いて項目をシフトさせたいのですが、どのような方法があるのでしょうか。 <元テーブル>    フィールド→ 氏名, 名1, 名2, 名3, 名4 ・テーブル1の項目 山田,花子,次郎,三郎,四郎           鈴木,五郎,六郎,七朗,和子           佐藤,和子,一郎,太郎,四郎 ・テーブル2の項目 山田,花子           鈴木,七朗           鈴木,和子          佐藤,一郎           佐藤,四郎           佐藤,和子 <変換後テーブル>テーブル1を基準として   フィールド→ 氏名, 名1, 名2, 名3, 名4           山田,次郎,三郎,四郎,null           鈴木,五郎,六郎,null,null           佐藤,太郎,null,null,null 分りずらい説明で申し訳ありませんが、宜しくお願いします。

  • Access 複数テーブルの合成方法 超初心者です

    お世話になります Accessで複数のテーブルに異なるフィールドと同じフィールドが存在しています。 その複数のテーブルを一つにまとめる方法があるのでしょうか? Accessを始めたばかりで、全く持って検討がつきません 可能であれば教えてください。 「テーブル1」 番号 住所    好物 1   東京都   りんご 2   東京都   すいか 3   神奈川県  メロン 4   埼玉県   みかん 5   栃木県   梨 「テーブル2」 番号 住所    ランク 1   東京都   D 6   茨城県   C 7   大阪府   A 8   大阪府   B 3   神奈川県  E これらを下記のようにまとめたいです 番号 住所     好物   ランク 1   東京都    りんご   D 2   東京都   すいか  (空白)   3   神奈川県  メロン   E 4   埼玉県   みかん  (空白) 5   栃木県   梨     (空白) 6   茨城県   (空白)  C 7   大阪府   (空白)  A 8   大阪府   (空白)  B ※同じ番号で同じフィールドなら必ず同じ値が入ります(例 番号1の住所は必ず東京都) ※(空白)の場所は必ず空白でなくてはならない事はありません(代替なものがあれば変更可) 以上です。 何か方法があれば教えてください。よろしくお願いします。