- ベストアンサー
住所録データ-ベースの処理について
- VBを利用して住所録のデータベースを作成していますが、検索時にIDのテキストボックスに入力すると、名前、住所、電話番号を自動的に検索し、出力する方法が分かりません。
- フォーカスアウトを利用して検索時に自動的に名前、住所、電話番号を出力する方法を探していますが、詳しい方の教えを求めています。
- VBを初めて2ヶ月以上利用している初心者ですが、住所録データベースの検索処理に困っています。IDのテキストボックスに入力すると名前、住所、電話番号を検索して出力する方法を教えていただきたいです。
- みんなの回答 (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 変数に結果を入れて返す関数としています。 また、コードには、全角スペースを入れていますので、コピーするときは、気をつけて下さい。
その他の回答 (1)
- clavia
- ベストアンサー率50% (5/10)
No.1 で回答したものです。 すみません、補足です。 コードの、「RecResult(n)」の部分は、 「CStr(RecResult(n))」の方がいいです。
お礼
とても丁寧な回答を頂き、本当にありがとうございました。 当初はテキストボックスを用いたやり方を考えていたのですが、 もっと工夫して、色々なものを作ってみたいと思います。