VB2008で画面上のカーソルの位置を取得する方法

このQ&Aのポイント
  • VB2008の開発環境で作成した画面上には、AテキストとBテキストという2つのテキスト入力エリアがあります。それぞれ仕入先コードと品目コードを入力する形となっています。ハンド入力が難しいため、別のフォームでデータを検索し、入力エリアに返したいと考えています。画面の下部に検索ボタンを設置し、カーソルの位置に応じて別のフォームを開くようにしたいのですが、VB2008で画面上のカーソルの位置を取得する方法を教えてください。
  • VB2008の開発環境で作成した画面には、AテキストとBテキストという2つのテキスト入力エリアがあります。これらのエリアには仕入先コードと品目コードを入力します。しかし、データ件数が多いため、ハンド入力が難しいという問題があります。そこで、別のフォームでデータを検索し、その検索結果を元のフォームの入力エリアに返したいと考えています。画面の下部には検索ボタンがあり、カーソルの位置に応じて別のフォームを開くようにしたいのですが、VB2008で画面上のカーソルの位置を取得する方法を教えてください。
  • VB2008の開発環境で作成した画面には、AテキストとBテキストという2つのテキスト入力エリアがあります。これらのエリアには仕入先コードと品目コードを入力します。しかし、データ件数が多いため、ハンド入力が難しいという問題があります。そこで、別のフォームでデータを検索し、その検索結果を元のフォームの入力エリアに返したいと考えています。画面の下部には検索ボタンがあり、カーソルの位置に応じて別のフォームを開くようにしたいのですが、VB2008で画面上のカーソルの位置を取得する方法を教えてください。
回答を見る
  • ベストアンサー

画面上のカーソルの位置を取得(VB)

教えて下さい。 開発環境:VB2008 作成した画面上に、Aテキスト、Bテキストという2つのテキスト入力エリアがあり、それぞれ 仕入先コード、品目コードを入力する形となっています。 但し、それぞれのデータ件数が多い事から、ハンド入力が難しく、もう1つ別のフォームを作成し、 別のフォームでテーブルから検索された結果を、そのもとのフォームの入力エリアに返したいと 考えています。 そこで、画面の下部に検索ボタンを設け、Aテキストにカーソルがある状態で検索ボタンを押された 場合は、仕入先マスタ検索のフォーム、Bテキストにカーソルがある状態で検索ボタンが押された場合は、 品目マスタの検索へというように、カーソルの位置で開くフォームを変えたいと考えています。 画面上のどちらのテキストが選択されているか?を取得するような事は可能なのでしょうか? 初歩的な質問で申し訳ありませんが、教えて下さい。

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

  • ベストアンサー
回答No.1

検索ボタンがクリックされた時点で、フォーカスは検索ボタンに移ってしまっているので、検索ボタンのクリックイベント内で識別することはできません。 通常は、各テキストがフォーカスを得た時点で変数などにどのテキストにフォーカスがあるかを設定しておき、検索ボタンのクリックイベント内でそれを参照する方法が使われるでしょう。

SANA_999
質問者

お礼

返事が遅くなって申し訳ありません。 ありがとうございました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

文章を書きまくっているが、よくわからない。 テキストは テキストボックスの意味か? >画面上に フォーム上になどというのでは? >データ件数が多い事から 選択すべき候補数(文字列・語句?)が多いということか。例えばコンボボックスの場合のアイテムが20を超えるとか? >ハンド入力が難しく コンボのようなもので選択させるでは、候補数や1候補の文字数が多すぎてダメなのか >画面の下部に検索ボタンを設け、・・・ は、コンボをクリックされた段階で、候補が出てくる。その候補は、フォームの既入力データで条件をかけて絞るなどアクセスなどではよく行われるのでは?検索ボタンはわざわざ要るのかな。 >画面上のどちらのテキストが選択されているか 画面とはフォームのことか?画面一般を問題にすることは(ビジネス界では)普通しないと思うが。 >どちらのテキストが選択されているか コンボボックスにすれば、そういうことを考えなくても、済むのでは。 >初歩的な質問で申し訳ありませんが そんなことは無いだろう。目的を達成する仕組みが、初心者的な思いつきでは無いかと思うが。 == 本当は、データ例、量(対象データ概数、参考にする)などを示し、したいことを文章で説明して、プログラムに入る前の、 「仕組みの決定」について、識者のアドバイスをもらうべきでは。ここが初心者は苦手なはず。勉強しようにも、個別論なので、解説書にも余り書かれていない点だ。こういう点のアドバイスこそ、質問者の周りに先輩でも居ない場合は、この質問コーナーで無いと出来ないことだ。 直ぐプログラムのコードの問題に入っていく初心者が多いが、採用する仕組み(やほかに採用するロジック)で、プログラムも初心者には手の終えないものになったり、簡単になったり、使うほう(操作者)が不便と思ったりするものだ。 この部分を我流で考えて、その通りにしたいからコードを教えろなら、システム屋に有償で頼めばよい。 アクセスでも、似たような事例が起こるのではと思うが、経験ないのかな。

SANA_999
質問者

お礼

ご指摘の通り、文章が長すぎて申し訳ありませんでした。 ありがとうございました。

関連するQ&A

  • テキストエリアにカーソルを自動的に移動させる方法

    ASPで、 テキストエリア(フォーム)    ↓ テキストエリアの入力をファイルに書き込み    ↓ ファイルの内容を一覧表示 の順に処理を並べて組んでいます。 テキストエリアに文字を入力したあと、送信ボタンを押すと、 ファイルに書き込んで、ファイルの内容を画面に表示します。 カーソルが、画面の下にいってしまいます。 一度テキストエリアの外に行ってしまったカーソルを、自動的に テキストエリア内に戻す方法を教えてください。

  • カーソルを一番最初に戻したいのですが・・・

    カーソルを一番最初に戻したいのですが・・・ エクセルでユーザーフォームを作成しました。 そこに、テキストボックスを10個ほど、コマンドボタンを作成しました。 テキストボックスに入力し、コマンドボタンを押すとワークシートにその内容が入力されるところまでは何とかできました。 その作業を何度かやりたいと思うのですが、カーソルが一番最初のテキストボックスに戻す方法が分からないんです。 何か、良い方法はないでしょうか? どうか、よろしくお願いします。

  • Access2007 カーソル位置の制御

    フォーム上、テキストフィールドが5つあります。 クリアボタンを作成し、「クリア」を選択すると、5つのテキストフィールドのデータが初期化(未入力の状態)されるようになっています。 「クリア」ボタンを選択し、フィールドデータが初期化されるのは良いのですが、カーソルの制御が「クリア」ボタンに割り当たったままになってしまいます。 「クリア」ボタンを選択したら、「データの初期化」+「カーソル位置を先頭フィールドに割り当てたい」のですが、どのような方法がありますでしょうか。 お知恵を拝借できますでしょうか・・・。

  • カーソルがあるテキストの名前を取得したい

    VB2005で開発を始めたばかりの初心者です。 テキストボックスがいくつか画面上に存在していて、あるボタンをクリックして別のフォームを開き、そこで選択した内容を元のテキストボックスにセットしたいと思っています。 どのテキストボックスでも、この機能をつけたいので、ボタンをクリックする前にカーソルがあったテキストボックスの名前を取得したいのです。その方法をお教え願えないでしょうか?

  • excelVBAのフォームでカーソルの位置を指定するには?

    excelのVBAでフォームを作ってます。 フォームを開いたときにカーソルはタブオーダーの一番最初に来るのはokなんですが、入力内容をシートに転記したあと、入力内容をクリアし、カーソルをタブオーダーの2番目にもってきたいんです。入力内容の転記とクリアはコマンドボタンで実行させていますが、カーソルを希望するテキストボックスに移動させるのはどうすればいいのでしょうか。

  • メールフォームを開いて、任意の位置にカーソル位置をもっていきたい。

    前ページのリンクボタンをクリックするとメールフォームが開くようになっています。 その時にメールフォームの一番上の項目(Ex.氏名)のテキスト入力欄に カーソルを指定してもっていくことはできるのでしょうか? ご存知の方、よろしくお願いします。

    • ベストアンサー
    • HTML
  • 画面を切り替えてもカーソルを表示させたい

    エクセルVBAです。 ユーザーフォームのテキストボックスでカーソルが点滅している状態で 例えばエクスプローラ等何でもいのですが、他の画面を表示したあと 再度ユーザーフォームを表示すると、フォーカスはそのテキストボックスに あるようなのですが、カーソルは消えています。 画面を切り替えてもカーソルが元の状態のままにするにはどうしらいいでしょうか。

  • access コンボボックスの次

    顧客管理・商品管理の簡略化を目指している初心者です。商品マスター・仕入先・販売先というテーブルを作成、商品情報の入力・閲覧のためのフォームを作ろうと思っています。 1)商品マスターテーブルには、仕入先コードと販売先コードが入っています。フォーム上では仕入先名・販売先名も確認したいのですが、 「商品マスターテーブルにそれらを追加したクエリを作成 → クエリからフォームを作成」 という方法でよいでしょうか。 2)フォーム上で仕入先コードと仕入先名のコンボボックスを設置します。コードを選択すると自動的に次の欄に仕入先名が反映されるようにする方法を教えてください。 おそらく非常に初歩的な質問かと思いますが、マニュアルを見たり検索をかけたりしても要領を得ません。アドバイスをどうぞよろしくお願いいたします。

  • VBについて

    Visual Basicで1つのオブジェクトの中にフォームを2つ作った時、片方のフォームに入力した情報を処理し、もう1つのフォームでその結果を見るにはどうすれば良いのでしょうか?  例えば、1つのフォームにテキストボックスAとコマンドボタンを貼り付け、もうひとつにテキストボックスBを貼り付けて、テキストボックスAにXと入力し、コマンドボタンを押すとテキストボックスBにYと入力されるような事です。  分かる方、是非教えてください。

  • VBについて質問です

    VB2010でフォームデザイナーに、ツールBOXからテキストBOXとボタンを挿入します。テキストBOX内に数字を入力し、ボタンクリックで線がかけるようなプログラムを作成したいのですが、初心者で分かりません。コード等詳しく教えていただけないでしょうか。