プロが教えるわが家の防犯対策術!

VBを初めてまだ2ヶ月あまりの初心者です。

実は今、VBを利用して住所録のデータベースを作成しているのですが、
とても困った問題が起こっています。

内容を詳しくお話しますと、住所録の検索を行ったときに
IDのテキストボックスの項目に入力を行うと、自動的に名前、住所、電話番号
の検索を行って、それぞれのテキストボックスに出力を行いたいのですが、
どのような命令を行えば良いのでしょうか??

何でも「フォーカスアウト」を利用するとかしないとかで
ヘルプで調べてもよく分からず、困っております。

もし、この手に詳しい方がいれば、是非、教えて頂きたいです。
宜しくお願いします。

A 回答 (2件)

仕様によって、使用するイベントは変わってきます。



ID を入力後、ID のテキストボックスがフォーカスを失った時(カーソルが消える瞬間)に検索をするなら、「LostFocus」イベントです。

ID を入力後、「検索」ボタンなどを押して検索するなら、「CommandButton」コントロールの「Click」イベントです。

ID を入力して、「1 → 検索、 13 → 検索、 138 → 検索」の様にそのつど検索をするなら、「Change」イベントです。

LostFocus なら、これでいかがでしょうか?

Private Function TextID_LostFocus()

  Dim SQL As String, RecResult As Variant

  SQL = "SELECT NAME, ADDR, TEL FROM TABLE WHERE ID=" & TextID.Text
  GetRecord(SQL, RecResult)

  TextName.Text = RecResult(0) '名前
  TextAddr.Text = RecResult(1) '住所
  TextTEL.Text = RecResult(2) 'TEL
End Function


GetRecord 関数は SQL文を渡すと、RecResult 変数に結果を入れて返す関数としています。
また、コードには、全角スペースを入れていますので、コピーするときは、気をつけて下さい。
    • good
    • 0

No.1 で回答したものです。


すみません、補足です。

コードの、「RecResult(n)」の部分は、
「CStr(RecResult(n))」の方がいいです。
    • good
    • 0
この回答へのお礼

とても丁寧な回答を頂き、本当にありがとうございました。
当初はテキストボックスを用いたやり方を考えていたのですが、
もっと工夫して、色々なものを作ってみたいと思います。

お礼日時:2002/07/02 18:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す