Page 328 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼カタカナ1文字ごとに検索したい やまざき 03/6/24(火) 23:02 ┗情報不足です。 こうちゃん 03/6/26(木) 8:48 ┗Re:情報不足です。 やまざき 03/6/29(日) 8:13 ┗Re:情報不足です。 こうちゃん 03/6/29(日) 15:59 ┗やっぱりダメです やまざき 03/6/30(月) 7:35 ┗Re:やっぱりダメです こうちゃん 03/6/30(月) 8:23 ┗Re:やっぱりダメです やまざき 03/6/30(月) 13:04 ┗Re:やっぱりダメです やまざき 03/7/10(木) 0:26 ┗Re:やっぱりダメです こうちゃん 03/7/10(木) 9:10 ┗Re:やっぱりダメです やまざき 03/7/11(金) 21:29 ┗Re:やっぱりダメです やまざき 03/7/11(金) 23:07 ─────────────────────────────────────── ■題名 : カタカナ1文字ごとに検索したい ■名前 : やまざき ■日付 : 03/6/24(火) 23:02 -------------------------------------------------------------------------
Windows Me Access 2000を使っています。 リストボックスに表示された顧客名を、テキストボックスに入力された振り仮名でLike文で検索をかけています。現在のところテキストボックスのExit イベントでリストボックスをRequeryしていますが、カタカナ1文字入力ごとに検索する様にしたいと思い、Changeイベント、KeyUpイベントに変更してみましたが上手くいきません。アドバイスいただけますでしょうか。お願いします。 |
やまざきさん、こんにちは >Windows Me Access 2000を使っています。 >リストボックスに表示された顧客名を、テキストボックスに入力された振り仮名でLike文で検索をかけています。現在のところテキストボックスのExit イベントでリストボックスをRequeryしていますが、カタカナ1文字入力ごとに検索する様にしたいと思い、Changeイベント、KeyUpイベントに変更してみましたが上手くいきません。アドバイスいただけますでしょうか。お願いします。 情報不足でレスがつかないんだと思います。 これは、テキストボックスに入力された文字によりリストボックスのリストを変更するということですか? テーブルを参照してリストを変更するんですか? で、どううまくいかないのでしょう? やまざきさんの書かれたChangeイベント、KeyUpイベントのコードをアップしてみてください。 |
▼こうちゃん さん: >やまざきさん、こんにちは > >>Windows Me Access 2000を使っています。 >>リストボックスに表示された顧客名を、テキストボックスに入力された振り仮名でLike文で検索をかけています。現在のところテキストボックスのExit イベントでリストボックスをRequeryしていますが、カタカナ1文字入力ごとに検索する様にしたいと思い、Changeイベント、KeyUpイベントに変更してみましたが上手くいきません。アドバイスいただけますでしょうか。お願いします。 > >情報不足でレスがつかないんだと思います。 >これは、テキストボックスに入力された文字によりリストボックスのリストを変更するということですか? >テーブルを参照してリストを変更するんですか? > >で、どううまくいかないのでしょう? >やまざきさんの書かれたChangeイベント、KeyUpイベントのコードをアップしてみてください。 こうちゃんさんありがとうございます。レス遅くて申し訳ありません。実は半ば諦めていました。アドバイスにしたがって自分なりに書いてみます。 テキストボックス名はフリガナ検索 LisiBox名は 顧客名です ListBoxのRowSourceのクエリーを書きたいんですがこういった場合の表記方法がわからないのでSQLで書きます。 "SELECT 顧客名 FROM 顧客名簿 WHERE フリガナ LIKE '*" & me!フリガナ検索 & "*'" という内容で実際はクエリーです。イベントのコードは Private Sub フリガナ検索_Change Me!フリガナ検索.Requery End Sub という内容です。 テキストボックス、フリガナ検索のIMEモードは半角カタカナ、IME変換モードは無変換に設定しています。カタカナをローマ字入力すると、1文字カタカナに変換するたびにLisiBox顧客名は反応しているようなんですがリストの内容は書き換わりません。テキストボックスのExitイベントで設定すると入力されたカタカナでLisiBox顧客名の内容は書き換わり絞込みは行われています。 以上解りにくくてすいません。宜しくお願いします。 |
やまざき、こんにちは >こうちゃんさんありがとうございます。レス遅くて申し訳ありません。実は半ば諦めていました。アドバイスにしたがって自分なりに書いてみます。 > >テキストボックス名はフリガナ検索 >LisiBox名は 顧客名です >ListBoxのRowSourceのクエリーを書きたいんですがこういった場合の表記方法がわからないのでSQLで書きます。 > >"SELECT 顧客名 FROM 顧客名簿 WHERE フリガナ LIKE '*" & me!フリガナ検索 & "*'" >という内容で実際はクエリーです。イベントのコードは >Private Sub フリガナ検索_Change > Me!フリガナ検索.Requery >End Sub >という内容です。 コードを書く場所と対象が混乱しているようですね。 こちらのコードを試してみてください。 Private Sub フリガナ検索_Change() Dim StrSQL As String StrSQL = "SELECT 顧客名 FROM 顧客名簿 WHERE フリガナ LIKE '*" & Me.フリガナ検索.Text & "*'" Me.顧客名.RowSource = StrSQL Me.顧客名.Requery End Sub |
▼こうちゃん さん: >やまざき、こんにちは > >>こうちゃんさんありがとうございます。レス遅くて申し訳ありません。実は半ば諦めていました。アドバイスにしたがって自分なりに書いてみます。 >> >>テキストボックス名はフリガナ検索 >>LisiBox名は 顧客名です >>ListBoxのRowSourceのクエリーを書きたいんですがこういった場合の表記方法がわからないのでSQLで書きます。 >> >>"SELECT 顧客名 FROM 顧客名簿 WHERE フリガナ LIKE '*" & me!フリガナ検索 & "*'" >>という内容で実際はクエリーです。イベントのコードは >>Private Sub フリガナ検索_Change >> Me!フリガナ検索.Requery >>End Sub >>という内容です。 > >コードを書く場所と対象が混乱しているようですね。 >こちらのコードを試してみてください。 > >Private Sub フリガナ検索_Change() > Dim StrSQL As String > StrSQL = "SELECT 顧客名 FROM 顧客名簿 WHERE フリガナ LIKE '*" & Me.フリガナ検索.Text & "*'" > Me.顧客名.RowSource = StrSQL > Me.顧客名.Requery >End Sub コードが違って申し訳ありません。顧客名のところはちょっと違ったので商品名のところでやってみました。ListBox商品名を対象にTextBox選択ふりがなの内容で絞込みを行います。 Private Sub 選択ふりがな_Change() With Forms!商品検索 If IsNull(!選択ふりがな) Then !商品.RowSource = "SELECT 番号,商品名,仕入単価,標準販売単価 FROM 商品 order by ふりがな" Else !商品.RowSource = "SELECT 番号,商品名,仕入単価,標準販売単価 FROM 商品 WHERE ふりがな LIKE '*" & !選択ふりがな & "*' order by ふりがな" End If !商品.Requery End With End Sub Requeryはかかっているようなんですが絞込みは行われません。 |
やまざきさん、こんにちは >>Private Sub フリガナ検索_Change() >> Dim StrSQL As String >> StrSQL = "SELECT 顧客名 FROM 顧客名簿 WHERE フリガナ LIKE '*" & Me.フリガナ検索.Text & "*'" >> Me.顧客名.RowSource = StrSQL >> Me.顧客名.Requery >>End Sub > >コードが違って申し訳ありません。顧客名のところはちょっと違ったので商品名のところでやってみました。ListBox商品名を対象にTextBox選択ふりがなの内容で絞込みを行います。 >Private Sub 選択ふりがな_Change() > With Forms!商品検索 **************************** ここにブレークポイントを設定して「!選択ふりがな」の値を確認してください。 また、ステップ実行でどちらの処理が実行されているか確認してください。 > If IsNull(!選択ふりがな) Then > !商品.RowSource = "SELECT 番号,商品名,仕入単価,標準販売単価 FROM 商品 order by ふりがな" > Else > !商品.RowSource = "SELECT 番号,商品名,仕入単価,標準販売単価 FROM 商品 WHERE ふりがな LIKE '*" & !選択ふりがな & "*' order by ふりがな" > End If > !商品.Requery > End With >End Sub > >Requeryはかかっているようなんですが絞込みは行われません。 私のコード中の「Me.フリガナ検索.Text」がポイントかも・・ ChangeではValueプロパティが拾えません。Textプロパティを使用します。 |
▼こうちゃん さん: 大変ありがとうございました。無事出来ました。 |
新たな問題が発生しました。 複数のテキストボックスで検索しようとしたところ、Focusがないため、Textプロパティーを取得できなく、エラーが出てしまいました。仕方なく一回毎にFocusを移動させて、最終的に最初のテキストボックスにFocusを移動するようにしたところ、テキストボックス内の文字列が反転表示になり、追加入力するためにはマウスで最終文字をクリックしないと、以前入力した文字が消えて、新規の文字だけになってしまいます。解決方法はないものでしょうか。 |
やまざきさん、こんにちは >新たな問題が発生しました。 >複数のテキストボックスで検索しようとしたところ、Focusがないため、Textプロパティーを取得できなく、エラーが出てしまいました。仕方なく一回毎にFocusを移動させて、最終的に最初のテキストボックスにFocusを移動するようにしたところ、テキストボックス内の文字列が反転表示になり、追加入力するためにはマウスで最終文字をクリックしないと、以前入力した文字が消えて、新規の文字だけになってしまいます。解決方法はないものでしょうか。 TextプロパティはChangeイベントを使用するために使ったのだと思っていました。 Focusのあるコントロールの場合、ChangeイベントではTextプロパティでなければ値が取得できませんが、複数のテキストボックスを参照するなら、当然Focusはないので、Valueプロパティを参照すればどうでしょ? #書き込みに半角カナは使わないでね。字化けの可能性があります。 |
▼こうちゃん さん: >やまざきさん、こんにちは >>新たな問題が発生しました。 >>複数のテキストボックスで検索しようとしたところ、Focusがないため、Textプロパティーを取得できなく、エラーが出てしまいました。仕方なく一回毎にFocusを移動させて、最終的に最初のテキストボックスにFocusを移動するようにしたところ、テキストボックス内の文字列が反転表示になり、追加入力するためにはマウスで最終文字をクリックしないと、以前入力した文字が消えて、新規の文字だけになってしまいます。解決方法はないものでしょうか。 > >TextプロパティはChangeイベントを使用するために使ったのだと思っていました。 >Focusのあるコントロールの場合、ChangeイベントではTextプロパティでなければ値が取得できませんが、複数のテキストボックスを参照するなら、当然Focusはないので、Valueプロパティを参照すればどうでしょ? > >#書き込みに半角カナは使わないでね。字化けの可能性があります。 そうすると、Focusがあるかないかをチェックして、Valueプロパティーにするか、Textプロパティーにするか選ぶことになりますね。ちなみにFocusがあるかないかをチェックするにはどうすればいいんでしょうか。ヘルプを見てもよく解りません。宜しくお願いします。 |
出来ました。ありがとうございました。 |