住所録データ-ベースの処理について

このQ&Aのポイント
  • VBを利用して住所録のデータベースを作成していますが、検索時にIDのテキストボックスに入力すると、名前、住所、電話番号を自動的に検索し、出力する方法が分かりません。
  • フォーカスアウトを利用して検索時に自動的に名前、住所、電話番号を出力する方法を探していますが、詳しい方の教えを求めています。
  • VBを初めて2ヶ月以上利用している初心者ですが、住所録データベースの検索処理に困っています。IDのテキストボックスに入力すると名前、住所、電話番号を検索して出力する方法を教えていただきたいです。
回答を見る
  • ベストアンサー

住所録データ-ベースの処理について

VBを初めてまだ2ヶ月あまりの初心者です。 実は今、VBを利用して住所録のデータベースを作成しているのですが、 とても困った問題が起こっています。 内容を詳しくお話しますと、住所録の検索を行ったときに IDのテキストボックスの項目に入力を行うと、自動的に名前、住所、電話番号 の検索を行って、それぞれのテキストボックスに出力を行いたいのですが、 どのような命令を行えば良いのでしょうか?? 何でも「フォーカスアウト」を利用するとかしないとかで ヘルプで調べてもよく分からず、困っております。 もし、この手に詳しい方がいれば、是非、教えて頂きたいです。 宜しくお願いします。

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

  • ベストアンサー
  • clavia
  • ベストアンサー率50% (5/10)
回答No.1

仕様によって、使用するイベントは変わってきます。 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.2

No.1 で回答したものです。 すみません、補足です。 コードの、「RecResult(n)」の部分は、 「CStr(RecResult(n))」の方がいいです。

jin0703
質問者

お礼

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

関連するQ&A

  • VBからACCESSレポートの出力について

    仕事で住所録データベースを作っているところなのですが、 色々と分からないことがあるので、是非、相談に乗って下さい。 VBからACCESSレポートの出力について、行っているのですが データベースから、自分の条件にあったデータだけを取ってきたい のですが、どうしたらよいのでしょうか?? ちなみに、ACCESSのクエリを実行して、欲しいデータを取ってくる のではなく、VB上の画面に入力したデータで、ACCESSのデータを 検索を行うものです。 例えばこんな感じです。 ↓ VBで検索一覧画面から、社員番号を入力する。(テキストボックス) ↓ 実行ボタンを押したとき、テキストボックスに入った社員番号を 自動的に読み取り、ACCESSのデータベースから データを検索する。 こんな感じです。分かりにくい説明ですいませんが 宜しくお願いします。

  • VB.netのDataGridViewについて

    VB.netのDataGridViewについての質問です。 DataGridViewで出力された行を選択して、 その行の値をテキストボックスなどに出力させることは可能なのでしょうか? やりたいことは 1.データベースより取得してきたDatatableをDataGridViewに出力 2.出力されたDataGridViewの行を選択する 3.その選択された行の項目(複数)の値を画面上の個々の   テキストボックスなどに反映させる です

  • 帳票出力システム構築のためのプログラミング言語

    私はプログラミングはさわり程度しか知らない初心者なのですが、この度大学の授業で商品の受注システムを作ることになりました。 楽天みたいに顧客が注文を入力するのではなく、電話注文を受けたスタッフが帳票出力に使用するシステムです。 そこで、顧客の電話番号・住所をデータベース化して検索・追加できるようにしたいと思っているのですが、この場合プログラミング言語はVBとVBAどちらの方が適切でしょうか。 ・テキストボックスに電話番号を入力し、2回目以降の注文であれば住所のテキストボックスに以前登録された住所を反映する。 ・初めてならば手動で住所を入力してデータベースに追加 と言った単純なものを考えているのですが・・・。 よろしくお願いします。

  • ACCESSのマクロを使った抽出について

    質問をさせてください。 私は今、アクセス2002を使ったデータベース管理をしています。 そこで、データベースを検索方式でレポート形式表示しようと思い、フォームに抽出するテキストボックスとボタンを作りました。 その抽出するためのボタンに仕込んだマクロ「フォームを開く」のWHEREに [名前] Like "*" & [Forms]![フォーム]![テキストボックス] & "*" と入力して使っています。一応動きますが抽出できるのは1項目のみです。 このままでは使いにくいので、抽出する条件を複数指定して抽出をしたいと考えているのですが どうも上手く行きません。専門に扱っている本にも詳しくはのっていませんでした。 そこで ---------------------------------- 名前[テキストボックス1] 住所[テキストボックス2]         [ボタン] ---------------------------------- というようなフォームで、 レポート中の名前に○○を含み、 なおかつ住所に○○を含むデータを1度の検索で抽出するには どうしたら良いのでしょうか。 そして、もうひとつ。 同じようなものなのですが、コンボボックスを使って性別の抽出を行おうと思っているのですが 男性女性全てを抽出するためにはコンボボックスの文字が"すべて"では上手く動きません。 原因は"すべて"というワードを性別が含んでないからなのですが "すべて"を指定した時、全ての性別を抽出するにはまくロにどういった命令を書けば良いのでしょうか。 よろしくお願いします。

  • MSFlexGridで↑や↓押下時の処理

    現在VBの勉強をしております(WindowsXp、VB6.0) MSFlexGridの行を選択すると、行のデータをテキストボックスへ表示する、といった処理を実装したんですが、キーボードの「↑」や「↓」押下時に、選択行は変わるんですが、クリックイベントでもフォーカスイベントでも処理を拾えません・・・。 まだ試してはいないんですが、keyDownイベントで、「↑」「↓」を判断し、更にグリッドにフォーカスが存在する場合に、1行上(または下)のデータをテキストボックスに表示する。 という処理をしないと不可能でしょうか? どう考えても上記の方法はスマートでは無いなぁと思い、何か良い方法があれば教えていただきたく質問させていただきました。 よろしくお願いいたしますm(__)m

  • リアルタイムで入力データを反映させたい「修正版」

    入力したデータをリアルタイムに近い形で対象オブジェクトへ反映させたいと思っています。是非、アドバイスをお願い致します。 [やりたいこと] コンボボックス「プルダウンメニュー」を利用したデータ入力を行っています。コンボボックスで選択するデータを新たに追加した際、リアルタイムに近い形でプルダウンメニューに反映できればと思っています。 [現状での対応] フォームにコマンドボタンを配して、クリック時のマクロ(コマンドの実行)で「最新の情報に更新」を設定し対応しています。時々、ボタンを押し忘れることがあり、データ追加時点にコンボボックスでの選択を可能にしたいと考えています。 [おねがい] データベースオブジェクトの項目フィールドは「項目コンボ」から入力しています。「項目コンボ」で選択するデータの追加は「項目フォーム」で行います。以下のオブジェクト構成とした場合の効果的な設定方法を教えて下さい。 ■データベースオブジェクト ・テーブル(名前)メインテーブル「フィールド(名前):ID、項目、・・・」 ・フォーム(名前)メインフォーム「テキストボックス(名前):ID、項目(コンボボックス入力)、・・・・」 ・コンボボックス(名前):項目コンボ ■コンボボックス入力用データの追加オブジェクト ・テーブル:項目テーブル「フィールド:ID、項目」 ・フォーム:項目フォーム「テキストボックス:ID、項目」※一覧フォーム 以上ですが、宜しくお願いします。

  • ASP.NET 動的コントロールのフォーカス移動

    ASP.NET(VB)で開発しています。 Page_init時に生成されるテキストボックス1、2(動的コントロール)を表示します。 テキストボックス1のテキストチェンジイベント時に テキストボックス2にフォーカスが移動するようにしたいです。 テキストチェンジでPostBackが発生し、サーバ側でテキストボックス2.Focus() と記述しているのですが、動作は、テキストボックス2に フォーカスが移らず、画面上のどこにもフォーカスがあたっていない状態になってしまいます。 動的コントロールへ、PostBack時にフォーカス移動させるにはどうしたら良いか お願いいたします。

  • エクセルとVBのマッチング

    エクセルのデータのマッチングでVBを使おうと思っていますが、苦しんでます。 エクセルのシート1に参照元になるデータを取得する(ID、氏名など6つの項目)。 VBのユーザーフォームで6つのテキストボックスを用意する。 ユーザーフォームに入力されたIDがシート1のIDと一致したら、ユーザーフォームのテキストボックスにID以外の項目をシート1から拾い出す。 登録ボタンを押すとIDを含めた6つの情報がシート2に移動する。 といった処理をVBで行いたいと思うのですが、どなたかご教授下さいませんでしょうか。 よろしくお願い致します。

  • javascriptからサーバサイドの処理を呼び出す方法を教えてくださ

    javascriptからサーバサイドの処理を呼び出す方法を教えてください。 VB.NETでWebアプリの開発をしていますが、 テキストボックスに指定の文字数が埋まった時点で、 テキストボックスの値をもとにデータベース検索をさせるようにしたいのですが やり方がよく分かりません。 そもそも自分自身javascriptの知識も乏しく、有識者も回りに居ないため、 実現が可能なのかどうかも判断できないでいます。 ヒントやキーワードのレベルでもかまわないので、どなたか助けていただけないでしょうか。 よろしくお願いいたします。

  • VB.NETでクリップボードの内容の転送

    VB.NETにて下記のプログラムを作成したいのですがどのようにすればよいのでしょうか? (1).市販のソフトの、入力項目(テキストボックス)にフォーカスを置く (2).VB.NETのプログラムで、入力項目に入れる内容をクリップボードに保存し、ボタンを押すと   (1)の入力項目(テキストボックス)に値が貼り付く パスワードを管理するフリーソフトで上記機能を実現しているので技術的には可能のようで、 いろいろ調べましたが解りませんでした。 (自分で作成したDelphiやPowerBuilderのプログラムでも出来ました) 以上、よろしくお願いします。