• 締切済み

子フォームでDB更新後、親フォームに戻った際、DBを読み直しするには??

1050 円(@1050YEN)の回答

回答No.2

ShowDialogは、ダイアログとして表示するだけの機能ではありません。 呼ばれた側は、ステータスを返却できます。 >初心者なのでコーディング内容がわかりません 初心者であればなおの事、「丸投げの質問」をするのではなく ・まずやってみる ・部分的にわからないところを、前後関係のソースを載せ、質問する というようにしましょう。 お礼欄にありましたが、自分で「ShowDialog」というキーワードを載せていますが、それでググってみましたか? サンプルはいくらでも転がっているはずです。 会社でやっているのであれば、他の業務のソースもあるでしょうし、自宅でやるのであれば、何らかの書籍を一冊はもっているのではないですか? >関数化と実行のプログラミング内容を教えてください。 と言われても、大まかにしか答えられません。 先にも言ったように、「初期読み込み部分を関数化」です。 あなたのコードがわからないのに、こちらで関数化なんてできません。 何となくのサンプルを載せてはおきますが、この程度のサンプルは、ちょっと探したらいくらでも転がっております。 http://okwave.jp/search?word=ShowDialog&boolean=and&target=&ques_stat=&c_select=true&date=&sort=score&c=257 ここの掲示板でShowDialogの質問はいっぱいあります。 目的にマッチするものがあるかはわかりませんが、一つ一つ目を通すのを「手間」と感じていてはいけません。 上級者はもっと的確に履歴を絞りはしますが、絞りきれないときは、やはり全て目を通していきます。 そこから本来の目的とは違っても、目から鱗のテクニックを見つけることもあります。 まずは努力を・・・ '------------------------------ 'ダイアログ呼び出し側 '------------------------------ Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click   'フォーム2をダイアログで表示   Dim l_frm2 As New Form2   'ダイアログでからの戻り値を取得   Dim l_dlgRet As Windows.Forms.DialogResult = l_frm2.ShowDialog()   '戻り値による分岐   Select Case l_dlgRet     Case Windows.Forms.DialogResult.OK       Call MsgBox("OKが帰ってきたので、読み込み処理")       'ここで関数を実行     Case Windows.Forms.DialogResult.Cancel       Call MsgBox("キャンセルされてきたので、何もしない")   End Select End Sub '------------------------------ 'ダイアログ側(Form2) '------------------------------ Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click   'OKボタン処理   Me.DialogResult = Windows.Forms.DialogResult.OK End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click   'キャンセルボタン処理   Me.DialogResult = Windows.Forms.DialogResult.Cancel End Sub

juujuu2929
質問者

補足

またまた早々にありがとうございました。 書籍は3冊、逆引き500や基本などの本ですが、今回親フォーム側でリスト形式でDataRepeaterを使って表示させ、その中に「子フォーム」へのボタンを配置しております。クリックにより子フォームが開き、該当するデータを更新できるのですが、戻ってきた際親フォームのDB表示は変更前のままになってて苦戦中でした。 showdialogにしてもだめ、サイトからDataRepeaterを使用する際は.ResetBindings(false)で再読込みが必要(癖があるから?)だとの情報で設定してもダメ。本屋さんではあまりDataRepeaterの記載もなく苦戦しておりました。 また探し方もダメだったんですね。「DB 再 読込み」とかで検索している時点で間違っていたのかもしれません。 戻ってきた際、 'DdBindingSource.ResetBindings(False) 'Me.Refresh() 'Me.ResetText() 'f4.Dispose() も順番に足してデバックしてみたのですがダメでした。配置の問題なのかそもそも間違っているのか、余計わけがわからなくなってあせっていました。

関連するQ&A

  • 子フォームの情報を親フォームに利用する

    Visual C++初心者です。visual studio2005を使用しています。 まず親フォームで名前を入力させ、「次へ」を押すと子フォームが出て来ます。 そこで好きな食べ物を入力させて「決定」ボタンを押すと子フォームが閉じ、親フォームのテキストボックスに 「○○さん、こんにちは!好きな食べ物は●●ですね」というメッセージを表示させる・・・というフォームアプリケーションを作りたいのです。 子フォームの表示は分かるのですが、そこで入力させた情報を親フォームに反映させる方法が分かりません。 できれば初心者でも分かる回答をして頂ければ有難く思います。 よろしくお願いします。

  • dbへの接続について

    dbへの接続について Visual Basic2008でVBを勉強中の者です。初心者です。 SQL serverと接続するやりかたを参考書を頼りにコーディングして接続などは問題ないのですが、 プロシージャごとに毎回DBへの接続文字列を指定して接続して、、とやっているのですが何か 無駄なことしている気がしてきました。(同じコードが各フォームの各プロシージャにあるので) DBサーバの情報が変わったときなどもコードを修正するのが大変だと思いました。 こういう場合、何かいい方法はありませんでしょうか?

  • 子フォームから親フォームのオブジェクトを参照したい。

    こんばんわ。 いまVB.Net2005でプログラミングしている者です。 子フォームから親フォームのオブジェクトを参照したいのですが, うまくいきません。 親フォームにListBox1を置き, ここに入力された内容を 子フォームで下記のように参照しようとしました。 Dim 子フォーム As New 子フォーム Label1.Text = 親フォーム.ListBox1.SelectIndex としたのですが, 親フォームでListBox1に0以外のリストを選択したのに, 子側に来ると親フォーム.ListBox1.SelectIndexの値が 0になってしまい,親側での選択内容が反映されません。 どうすれば正しく参照できるでしょうか? 教えてください。よろしくお願いします。

  • C# 親フォームと子フォームのデータのついて

    こんにちは、 今開発して内容は親フォームからチェックしたリストを子フォームのdatagridviewに自動的に追加したり、 チェックを外したら、子フォームのdatagridviewから登録した項目を削除すること作成しています。 親フォームからチェックした項目(データ)を子フォームの関数に渡しているのですが、子フォームのdatagridviewの更新がしなくて、データも反映されていない状況です。 どうすれば良いでしょうか。ご存知でしたら、教えてください。 どうぞよろしくお願いします。

  • 子フォームから親フォーム上のコントロールを操作したい

    VC++.NET(C++/CLI)にてアプリケーションを開発しております。 親フォーム(FormParent)と子フォーム(FormChild)があり 子フォームから親フォーム上にあるtextBox1を操作したいのですがうまくいきません。 親フォームからはFormChild.hをインクルードすることで 親フォームのインスタンスを得て、子フォームを表示させているのですが これに加えて子フォームからFormParent.hをインクルードすると循環参照(と言うのですか?) となる為にエラーになってしまいます。 よろしくお願いします。

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

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

  • Accessのフォームだけを表示するには?

    Accessのフォームを使って処理を行う時に、Access自身のバックグラウンドを表示しないでフォームのみ表示して処理するというようなことはできるのでしょか? たとえば、Accessのインスタンスは非表示にしてフォームだけみえるようにする。 WSHで Set accApp = CreateObject("Access.Application") accApp.Visible = False accApp.OpenCurrentDatabase "C:\業務01.mdb" accApp.DoCmd.OpenForm "F010_情報表示フォーム", , , , acFormReadOnly accApp.Forms.[F010_010_情報表示].Visible = true などとして[F010_010_情報表示]フォームのみを表示するなどということはできるのでしょか? 実際これでは、何も表示されません。

  • VBで子フォーム以外をマウスダウンすると子フォームが閉じる

    Visual BASICで Mainフォームからある操作をしたときに、子フォーム(グリッド)を 「子フォーム名.show」 の命令で表示させています。 その子フォームを閉じたくないのに、Mainフォームをマウスでクリックすると子フォームが閉じてしまいます。 べつに、Mainフォームのマウスダウンイベントで子フォームを閉じる命令は記述していないのですが。 また、「子フォーム名.show」と「子フォーム名.visual=true」とではなにが違うのですか? 分かる方がおられましたが教えてください。

  • MDI:親フォームと子フォームを別EXEで実装するには

    MDIでアプリケーションを作成したいと思っています。 その時に子フォームを親フォームとは別EXEで作りたいと思っています。 例えば 親フォームのボタンを押すと、子フォームEXEが起動し、親フォーム内に表示される。 このようなことは出来ますか? 出来るのでしたら、どうしたらよろしいでしょうか。 教えてください。

  • DGV/子フォームで編集して親フォームへ

    親フォームと子フォーム、どちらにもDataGridViewを用意し、親フォームのセレクト行を子フォームに表示するというプログラムがあります。 さらに子フォームで直接DataGridViewに入力し編集して、更新ボタンを押して親フォームに反映させたいです。(関数を使いたい) ご教授お願いします(´;ω;`) Form1 private void DataGridView1_SelectedRowsDoubleClick(Object sender, MouseEventArgs e) { Form2 f2 = new Form2(); f2.setRowData(dataGridView1.SelectedRows); f2.Show(); } Form2 public void setRowData(DataGridViewSelectedRowCollection rows) { DataTable dt = createData(); foreach (DataGridViewRow r in rows) { string s1 = r.Cells[1].Value.ToString(); string s2 = r.Cells[2].Value.ToString(); string s3 = r.Cells[3].Value.ToString(); dt.Rows.Add("12345", s1, s2, s3); } dataGridViewDisp2(dt); } private void savebtn_Click(object sender, EventArgs e) { }