• 締切済み

データの受け渡し

VB.NETでテキストで入力した値を検索画面のテキストで表示していて、 検索されている状態にしたいのですが。 検索画面のほうはdllから読み込んでます。 画面:フォーム 検索画面:クラスライブラリ 画面からTextBoxの値は読み込めるのですが、データが表示できません TextBoxで入力した値:2 検索画面で表示されているデータ 1 あ 2 い 3 う 1.TextBoxで2を入力 2.検索ボタン押下で開く 3.検索画面に2が表示されていてコード2のデータが表示されている (2 い)

みんなの回答

  • hegemon
  • ベストアンサー率72% (21/29)
回答No.1

何をなさりたいのか、いまひとつわかりません。下記の理解で正しいのでしょうか? メイン画面:フォーム   TextBoxと検索ボタンを持つ 検索画面:ダイアログ?   メインプログラムとは別なDLL上にある?   ListBoxか何かを持つ? 初期状態   最初から検索画面は開いてる?   ListBoxには下記が表示されている?   1 あ   2 い   3 う オペレーション 1.TextBoxで2を入力 2.検索ボタン押下で開く ↑開くのは検索画面? それまでは閉じている? 開いていたのが閉じて開きなおす? 3.検索画面に2が表示されていてコード2のデータが表示されている ↑ListBoxの内容が「2 い」に絞り込まれる? この場合、検索画面を開くときに、何らかの形でTextBoxに入っている"2"という値を渡さなければいけないはずですが、そこではどんな処理をしていますか?

関連するQ&A

  • C#のフォーム間のデータの受け渡しについて

    はじめまして。よろしくお願いします。 最近C#をはじめましたがいきなりつまづいてしまいました。 クラスを利用しフォーム間でデータの受け渡しをしたいのですがどうすればいいのでしょうか? 処理は以下のようになっております まず、フォームが2つあります。フォーム1とフォーム2とします。 最初に起動されるのがフォーム1で、フォーム1にはボタンが2つあります。ボタンA、ボタンBとします ボタンA、ボタンBどちらのボタンを押下しても、フォーム2が開きますがどちらを押されてたかをフォーム2のテキストボックス(テキスト2とします)に表示します。 クラスですがフォームが2つとデータ保持のためのクラスが1つ(データ保持クラスとします)があります。 データ保持クラスにはint形のBtnClickプロパティ(get,set)を作成しております。, フォーム1のボタンA押下時処理  データ保持クラスのBtnClickに1を格納し、フォーム2を開きます。 フォーム1のボタンB押下時処理  データ保持クラスのBtnClickに2を格納し、フォーム2を開きます。 フォーム2起動時処理  データ保持クラスのBtnClickから値を取得しフォーム2のテキスト2へ表示します。 で、肝心の質問ですが、データ保持クラスの宣言はどこにすればいいのでしょうか? また、インスタンスはどのタイミングで作成すればいいのでしょうか? フォーム1にpublicとして宣言しインスタンスを作成し、ボタン押下時にBtnClickプロパティーにデータを格納し・・・ というところまではできたのですが、フォーム2で値が取得できないどころか、コンパイルが通りません。 あと、こういうデータ保持クラス使い方って一般的ですか?? 長々と脈略もなく書きましたがご教授ください。どうぞよろしくお願いします。

  • 新しいフォームへのデータを渡したい

    Visual studio 2005にてフォームアプリケーションを作成しています。 メインとなるフォーム(form.vb)と、ダイアログ表示用のフォーム(dialog.vb)を使い、メインでの値をダイアログ用のフォームの方で表示させたいのです。 メインのTextBox1にテキストを入力させ、「実行」ボタンを押すとダイアログ表示用フォームが立ち上がり、ダイアログのTextBox1に同じものを表示させたい・・・という寸法です。 できるだけ簡素なコードでこれを行うにはどうすればいいでしょうか? よろしくお願いします。

  • VB2005 コントロール配列について教えていただけませんか?

    現在VB2005を用いてプログラムを行なっている初心者です。 ここのサイトでVB2005ではコントロール配列は使用できないことを知りました。そこで、例えばフォーム上にTextBoxを5個配置して、各TextBoxに入力された値を配列に格納するのにはどのようにすれば良いでしょうか? data(0) = textbox1.text data(1) = textbox2.textと一つずつやるしかないでしょうか・・・ For文などを用いて簡単にできる方法を教えてください。 よろしくお願い致します。

  • データの受け渡しについて

    ASP初心者です。宜しくお願いします。行いたい内容は、a.aspで入力したデータを、b.aspでORACLEに登録する処理と考えております。 下記のような入力フォームがあったとします。a.asp実行を行うと、下記のような画面イメージが表示されます。 図書名(図面名) 型式 分類コード テキストボックスa1 テキストボックスb1 テキストボックスc1 テキストボックスa2 テキストボックスb2 テキストボックスc2 ・ ・ ・ テキストボックスa10 テキストボックスb10 テキストボックスc10 各列に10個づつ入力フィールドが存在し、データが入力されている分だけORACLEに新規追加を行いたいと考えております。MAXは10行で設定しています。どのようにしたら良いか皆目検討がつきません。以上、宜しくお願い致します。

  • 子フォームから親フォームへのデータの受け渡し

    いつもお世話になっております。 VB.NETの質問です。 親フォームから子フォームを開き、子フォームで検索した結果を親フォームに返したいです。 はじめはテキストボックスへ表示させており、何の問題もなく出来ていたのですが、 仕様を変更してコンボボックスやラベルのテキストに表示させるようにしたら、子フォームからデータを取れなくなりました。というか表示されなくなりました。子フォームのme.close()する直前の変数の値にはデータが入っているのですが・・・ なんでなんでしょうか? 開発一筋でやられてきた方には、本当に初歩的な質問だと思いますが、 よろしくお願い致します。

  • Access2003においてフォームとフォームでのデータの受け渡し

    生徒が新たに検定試験を受ける際、誰がどの検定試験を受験するかを登録する受験者登録フォームがあります。入力をするときに、生徒テーブルを作ってあるので、そこから、入力画面にデータをもってきたいのです。500名ほどいるので、ふりがなをもとに検索をかけます。それが、生徒検索フォームです。フォームヘッダーにふりがなを入力するテキストボックスをつくり、その下に、検索結果を表示するようになっています。検索結果を表示できたら、それをダブルクリックすると、受験者登録フォームにダブルクリックしたデータが入るようにしたいのですが、それが分かりません。サブフォームからメインフォームに受け渡す方法は過去のものにあったのですが、まったく別のフォームに受け渡しをしたいのですが、宜しくお願いいたします。

  • EXCEL VBA データ抽出について

    ユーザーフォームを利用して、データの管理を行なっております 各データには、コードを設定しており 検出時に利用しています フォームでコードを入力する際には 前半(年・月) 後半(No.)で2か所に分けて入力しており 以下、コード前半⇒ コード1     コード後半⇒ コード2  ・・・としておきます シートへの転記も、コード1はA列・コード2はB列に分けて書き込んでいます 以下は、コードからデータを検出し、その内容をテキストボックスへ表記するように 書いたコードですが、コード1のみでの検索になっております コード2をどのように組み込めばいいのか、わからずとても困っています。 シート名 AllDate コード1 TextBox36    (A列) コード2 TextBox37    (B列) 1行目は項目名になっており、2行目からデータが蓄積されています。 また新規で登録した場合には、空欄最下部へフォームからシートへ転記されるように設定しています   ============================ Worksheets("AllDate").Activate Dim i As Long, kb As String If TextBox36.Text = "" Then MsgBox "検索する番号を入力してください" Exit Sub End If For i = 2 To Range("A1").CurrentRegion.Rows.Count If Cells(i, 1).Text = TextBox36.Text Then kb = TextBox36.Text Exit For End If Next If kb = "" Then MsgBox "指定した番号はありません" Exit Sub Else Call ReadRecord(kb) End If TextBox36.Text = "" TextBox37.Text = "" End Sub Sub ReadRecord(kb As String) Dim rw As Long Set kRange = Range("A1").CurrentRegion.Columns(1).Find(What:=kb, LookAt:=xlWhole) If kRange Is Nothing Then MsgBox "データがありません" Exit Sub End If rw = kRange.Row TextBox1.Text = Cells(rw, 1).Value TextBox2.Text = Cells(rw, 2).Value TextBox3Text = Cells(rw, 3).Value TextBox4.Text = Cells(rw, 4).Value =============================== また自分なりにも何とか模索しており、フィルターを使う方法も考えておりますが 何分まだまだ初心者LVの為、 こちらも難航しております。 フィルタを使用する場合 TextBox36の値で、A列にて抽出 抽出されたデータから、さらに TextBox37の値で、B列にて抽出 重複データは存在しないので、A2行へ常に1件のデータが残り それをセル指定で、テキストボックスへ転記さようと考えています。 また、修正⇒上書き作業も必要なので フィルタで抽出したデータをテキストボックスへ表示させ 修正後、同様にA2行へ書き込み その後、フィルター解除がいいのかな?と思っています。 長々となり恐縮なのですが 方法のオススめ コードのご教授など お力をお貸しいただけないでしょうか? よろしくお願いいたします!!

  • データベースへの値の取得の仕方

    よろしくお願いします。 AccessをデータベースにしてVB2005でフォームを作っています。 DataSet1の中に<テーブル1>と<テーブル2>があります。 <テーブル1>には、「商品コード」、「商品名」、「値段」があります。 <テーブル2>には、「注文日」、「商品コード」、「注文個数」があります。 フォーム上のTextBox1に入力された値(商品コード)を<テーブル2>の「商品コード」欄に蓄積したいのですが、どのようにすれば良いですか? フォームには、 ComboBox1(テーブル1の商品名をリストにしたもの、ユーザー選択用) TextBox1(ComboBox1に対応した商品コードを表示、入力不可・表示のみ) ComboBox1とTextBox1を連動させるために、<テーブル1>からデータを呼んだのはいいのですが、肝心の<テーブル2>にどうやってデータを蓄積したらよいのかわからなくなってしまいました。 すみませんがプロパティウィンドウでの設定の仕方、またはコードなど教えてください。

  • keydownイベントを発生で他のフォームで受信

    VB初心者です。 よろしくお願いします。 バーコードリーダーで読み込んでtextboxに表示させる仕組みを作りましたが、バーコードリーダーが ないのでバーコードリーダーを読み込んだように疑似的にできるようなことを考えています。 考えとしては バーコードを読み込んで表示させる:フォームA  ・keydownイベントを受っとる  ・textboxに読み込んだ値を表示 バーコードを読み込んだように疑似的に動作する:フォームB  ・keydownイベントを発生させる  ・フォームBに入力した値をフォームAに渡す フォームAは作成できましたが、フォームBのようなことはできるのでしょうか。 どのようなイベントを使用したらいいかなど、アドバイスをいただけないでしょうか。 環境:VB2008 OS:Windows7

  • フォームの呼び出しについて

    VB.NETで メインのEXEとサブのDLLに分けて作っています。 EXEからDLL内のフォームを表示させようとする場合ですが、 VB.NETではどのように呼ぶべきなのでしょうか? VB6の頃は、EXEからDLL(ActiveX DLL? )のフォームが直接呼べなくて、 EXE側 Dim dll as new DLLClass dll.FormShow() DLLのクラス(DLLClass) Sub FormShow() DllForm.Show みたいに、DLL内のクラスのメソッドをコールし、 その中で、フォームを表示するという手順で呼び出してました。 VB.NETではFormもクラスなので、EXEからDLL(クラスライブラリDLL)内のフォームを 直接呼んでもいいように思うのですが(実際直接呼べる)、 カプセル化というのを考えたときに、フォームを直接呼ぶのではなく、 コントロールするクラスを経由して(VB6のときの方式)呼び出すべきなんじゃないかなと思うのです。 どちらがよいのでしょうか?

専門家に質問してみよう