フォーム1のテキストボックスに数値を入力して、その数値がMDBになければ
フォーム2を呼び出し、テキストボックス1〜10を入力し、
その入力した情報をMDBに1レコード追加したいのですが、どのような
処理をしたらよいのでしょうか??
調べたのですがちっとも分かりません。どなたか分かる方はいますか?
1.DAOかADOでデータベース接続
2.検索で使うテーブルを開く(レコードセット)
3.テキストボックスの値を検索(SQLやMoveNext等で)
4.テキストボックスの値 = ある → 無視
テキストボックスの値 = なし → フォーム2.Open
5.フォーム2.テキストボックスの値 = 1〜10 レコード追加
フォーム2.Close
となります。書籍を購入された方が良いでしょう。
キーワード:
DAO、ADO、OpenDatabase、OpenRecordset、MoveFirst、MoveNext、AddNew、Update
あんちゃんさん返答ありがとうございます。
1.2のあたりは分かったのですが3のところのSQL文の
書き方が分かりません。例えばどんな感じで書けばいいのか
例を挙げていただければ幸いです。
DBからレコードを検索をする場合はSELECT文を使います。
SELECT [抽出するフィールド名] FROM [テーブル名] WHRER [条件文]
一応このように書きます。
ただVBからDBをいじる場合はこれだけではできません。
この文をOpenRecordsetメソッドに放り込んでレコードセットオブジェクト
を取得するという作業をします。
そのほかにもいろいろな体系的な知識が必要不可欠ですので、
あんちゃんさんがおっしゃる通り書籍を購入しなければならないと思います。
データベースを覚えるにはネットでは不十分です。
説明しきれない位大変なことと言うことです。
ちなみに私は今までにDB関連の書籍を5冊購入しました。
それでもまだまだ勉強中です。がんばってください。
SQL文は使用するDBによって使える命令や、
構文の書き方が若干異なるため例になるかわかりませんが
Accessの例:
Dim SQL As String
Dim 抽出 As String
抽出 = "該当"
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM B_TBL"
SQL = "INSERT INTO B_TBL SELECT * FROM A_TBL WHERE(((A.TEST)= " & "'" & 抽出 & "'" & "))"
Docmd.RunSQL(SQL)
解説:
テーブル(A_TBL)の項目(A.TEST)の内容が"該当"となっているものを
すべて抽出し、テーブル(B_TBL)書き出す。
キーワード:
SELECT、INSERT INTO、DELETE、WHERE、ORDER BY
尚、命令文等の使い方についてはご自分で学習してください。
ツイート | ![]() |