• 締切済み

VB.netでAccess操作

タイトル通り、VB.netでAccessを操作するプログラムを作っています。 項目が、『番号』『氏名』『選択科目1』『選択科目2』 VBのフォーム上にAccessのファイルに登録されている全てのデータを取り出して二次元配列のように表示させます。 ボタンは編集、削除、行追加です。 編集 --- このボタンを押すとAccessに反映 削除 --- このボタンを押すとチェックボックスにチェックされた行が削除される 行追加 --- このボタンを押すと、表示されているデータの下に一行分、行が追加され、そこから入力できるようになる 私はtextboxを動的に配置して、textboxを二次元配列で処理できるようにプログラムを組んでみたのですが 何だか上手なプログラムが組めなくなってしまいまして困っているところです・・・。 仕様には、登録データ分だけの行数が表示されなくてはいけないと書いてあります。 つまり削除がある時点で、一行分を削除するためにはtextboxを消さなくてはいけなくなってしまいました。 (ex データが四件あるとして、その時点ではtextbox(0,0) ~ textbox(3,3)    ですが、一件削除するとtextbox(0,0)~textbox(2,3)になり  textbox(3,0)textbox(3,1)textbox(3,2)textbox(3,3)を削除しなければいけない) 非表示ではなく、textboxコントロール自体を削除したいのですが、そんな方法はあるのでしょうか? それともこのプログラムの組み方は間違った方法なのでしょうか? VB.net初心者のため、未だにどんなコントロールを使えばうまく処理できるのか分かっていないところがありますので、 どんな些細なことでもお気づきのことがありましたら、教えてください。 自分だったらこんな機能や処理をする!ということもお待ちしております。 宜しくお願いします。

みんなの回答

回答No.2

仕様はあるが作り方は決まってない、 そしてこの5月・・・ まるで新人研修を終えて配属された新入社員が基礎の課題をしているようだ(笑 そんなどうでも良いことはさておき、 テキストボックス配置となると テキストボックスは削除せずに、 txtbox = "" で消去して、 txtbox = "新しいデータ" とかにおきかえたほうが良いのでは。 いちいち削除すると無駄なような。 というか表に穴ができちゃうんじゃない? それで既存データをわざわざ上にずらすとか・・・う~ん・・・。 おすすめはデータグリッドを使うことかな。

s_spring
質問者

お礼

新人研修…確かにそれに近いものがあるかもしれません(笑 来年就職なのですが、その予行練習みたいなものだとの先生からの課題です。 友達には聞かず、ネット上だけで調べて、3日以内に提出…。 しかもVB6は基礎だけ経験有りですがVB.netは経験なし。 …無理だと限りなく思いつつ、勉強中です。 テキストボックスですが、仰るとおりです。 そしてデータを上にずらすと、一番下の行が空白のままになってしまい、そこの部分のコントロールを削除しようと思っていました。 が、やはりデータグリッドが良いのですよね…。 ラスト一日半で完成出来るかどうかわかりませんが、頑張ってみます。 ありがとうございました!

すると、全ての回答が全文表示されます。
  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.1

仕様がある?ということはテキストボックスを動的に配置というのも決まっていることなんでしょうか。 VB.NETならそのようなケースならDataGridになるでしょうし、そこまで大掛かりな必要もないなら、リストボックスなり他のコントロールの方が圧倒的に向いているかと思うのですが。動的にテキストボックスを作ったり消したりを繰り返すよりは、全然スマートになります。

s_spring
質問者

お礼

テキストボックスを動的に配置する、というのは仕様ではありません。 …すみません、何だか自分でも訳が分からず上手く説明が出来ていませんでした。 DataGrid は使用したことがないので、一度勉強してみたいと思います。 何だかプロバティが異様に多くて、使い方がさっぱり&何に使うか全く分かっていなかったので。…こういうときに使うものなのですね(笑 回答、ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A