- - PR -
VB.NETのフォームで入力した項目をACCESSの***.mdbに追加・更新する方法?
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-12-09 17:08
初めまして。
現在会社で使用する会員管理データベースをVB.NETで製作しています。 フォームにTextBoxやComboBoxを配置し、それらに入力した内容を既存の***.mdb(DataBase.mdb)に追加・更新する方法が分かりません。 何分一人で作業しており、完全なる独学でやっておりますので行き詰ってしまいました。 何卒ご教授の程、宜しくお願い致します。 環境:Windows XP/Visual Basic .NET2002/ACCESS2003 | ||||
|
投稿日時: 2004-12-09 17:09
どこで行き詰まったのでしょうか?
| ||||
|
投稿日時: 2004-12-09 17:13
早速の返信、有難う御座います。
TextBox・ComboBoxに入力し、ボタンを押してDataBase.mdbに追加(もしくは更新) この作業をするコードが全くと言って良い程分かりません。 会員Noが重複してなければ追加。 同じ会員Noがあれば更新。 と言った形を取りたいと思っております。 宜しくお願い致します。 | ||||
|
投稿日時: 2004-12-09 17:51
くーまさん、こんばんは。
参考までに。 MSDNライブラリには、以下の2冊が紹介(?)されてました。 「プログラミング Microsoft ADO.NET」 「ステップバイステップで学ぶMicrosoft ADO.NET実践講座」 まずはMSDNライブラリ(ヘルプ)でサンプルやチュートリアルを探して、じっくり勉強してみて下さい。ま、王道はない、ということで。 | ||||
|
投稿日時: 2004-12-09 17:52
DataBase.mdbには接続できているのでしょうか?
この質問だと、全部作ってくれって言ってるように聞こえます。。。。 とりあえず http://ja.gotdotnet.com/quickstart/winforms/doc/DataAccessPlaceHolder.aspx この辺を一通り呼んで、分からないところを質問しましょう。 | ||||
|
投稿日時: 2004-12-09 18:04
きくちゃんさん、burton999さん、有難う御座います。
関連サイトを探しても見つからず、参考書はVB.NETの本しか見てなかったので、分からず途方に暮れてた次第です。 そーか、「ADO.NET」の本を見れば良いんだ!と改めて思いました。 本買って、サイト見て、もうちょっと自分で頑張ってみます。 ありがとうございました。 | ||||
|
投稿日時: 2004-12-09 21:19
下記リンクをクリックするとASP.NET+Accessを利用したサンプル(ソースコード付き) がご覧いただけます。 http://akiokasai.brinkster.net/samples/Articles.aspx それから拙著「プロが作った!ASP/ADO.NET実践サンプル集」の第3章をご覧いただくと ADO.NET + Accessのサンプルが記載されています。 http://akiokasai.brinkster.net/books/aspado/aspado.asp | ||||
|
投稿日時: 2004-12-12 22:49
きくちゃんさん、burton999さん、Accessさん、有難う御座います。
参考書を買ってきて、何とかやってみました。 『データの追加』は驚くほど簡単に出来ました。 しかし、『データの変更』がコードエラーになってしまい、原因が分かりません。 ▼ Private Sub Form_Load(以下略) Adapter1.Fill(DataSet121, "データベース") End Sub Private Sub btnJikkou_Click(以下略) Dim r As DataSet12.データベースRow ' データセットにデータを格納 'Adapter1.Fill(DataSet121) ' 既にロードしてるので無視 ' 変更する行を取得 r = DataSet121.データベース.FindByID(1) ' <<<<<エラー ' 制約のチェックを中断 r.BeginEdit() ' 行の内容を変更 r.名前 = txtName.Text r.電話番号 = txtTel.Text ' 制約のチェックを再開 r.EndEdit() ' データソースを更新 Adapter1.Update(DataSet121.データベース) End Sub 『r = DataSet121.データベース.FindByID(1)』の所でエラーが出てしまいます。 『r = DataSet121.データベース』まで打って、『.』を打っても次の『Find』が出てきません。 私の場合、『ID』ではなく『会員No』を主キーにしています。 感じ的には『.FindBy会員No(1)』なんでしょうか…? 元のコードです。 Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim r As dsInsert_Tbl.Insert_TblRow ' データセットにデータを格納 OleDbDataAdapter1.Fill(DsInsert_Tbl1) ' 変更する行を取得 r = DsInsert_Tbl1.Insert_Tbl.FindByID(1) ' 制約のチェックを中断 r.BeginEdit() ' 行の内容を変更 r.Name = TextBox1.Text r.Phone = TextBox2.Text ' 制約のチェックを再開 r.EndEdit() ' データソースを更新 OleDbDataAdapter1.Update(DsInsert_Tbl1.Insert_Tbl) End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load TextBox1.Text = "ガリバー変更後" TextBox2.Text = "0587-52-3030" End Sub dsInsert_Tbl データセット DataSetName DsInsert_Tbl1 データセット (Name) Insert_Tbl Sample.mdbのテーブル名 テーブル内(ID, Name, Phone) 参考書は↓を見ました。 http://www.amazon.co.jp/exec/obidos/ASIN/4774120235/ref=pd_bxgy_img_2/250-3411107-1136237 何度も質問して申し訳ありませんが、何か原因が分かりますでしょうか? 宜しくお願い致します。 [ メッセージ編集済み 編集者: くーま 編集日時 2004-12-12 22:50 ] |