• 締切済み

VBで任意の複数レコードを追加・削除するには?

VBで作成するアプリについて質問があります。 処理としては、追加するレコード数が実行毎に違っているデータを、 フォームの入力エリアに入力し、そのデータを使用してデータベースに データを登録する処理を想定しています。 上記を踏まえて、下記条件を同時に満たす操作を作成したいと思っています。 (1)「追加」ボタンをクリックすると、表示されている入力エリアが1行追加される (2)レコード毎に作成された「削除」ボタンをクリックすると、  任意の入力済みの行を削除出来る 最後の行に入力エリアを追加・削除することは出来たのですが、 (2)の「任意の行を削除する」処理が作成できていない状況です。 VBの経験が2週間で、下らない質問かもしれませんがよろしくお願いします。

みんなの回答

回答No.1

「最後の行」は削除できても「任意の行」の削除が行えない、ということですか? 「最後の行」はどのように(DBから?)削除したのでしょうか? もしDBから該当レコードを削除したいのであれば、そのレコードのプライマリーキー(主キー)を利用して削除すれば可能だと思うのですが。

関連するQ&A

  • Accessでレコードの保存をせずにフォームを閉じたい

    Accessでデータベースのレコード追加を行うフォームを作成しています。 コマンドボタン(1)をクリック→新しいレコードの追加 コマンドボタン(2)をクリック→フォームを閉じる としています。(ウィザードを使用して、埋め込みマクロ?を設定しています。) コマンドボタン(1)でレコードが追加されるのは問題ないのですが、 コマンドボタン(2)をクリックした場合も、レコードが追加されていることに気がつきました。 一般的に入力する人は、 データを追加しようと思って入力していたけれど、 途中でやめてフォームを閉じることってありますよね? そういう場合にレコードが追加されてしまったら問題だと思ったのです。 ですが、どうしたらレコードの追加をせずにフォームを閉じられるかがわかりません。 それって可能でしょうか? Access初心者です。難しいVBAとかはまだよくわかりません。 何か方法、アドバイス等ありましたら よろしくお願いします。

  • VBでのデーターベースレコード検索方法

    VB6.0を使って顧客データーベースを作っているのですが質問させてください。 まず作成した順序として ・ビジュアルデーターマネージャーを使ってレコードを作成しました。 ・顧客コード、フリガナ、名前、住所・・・あと何点かありますが・・ ・データーフォームウィザードで顧客フォームを表示できるようにしました。 ここからが質問ですが、 1.フォームを開いた時点では顧客コードに1番が割り振られるのでそれをまず空欄にしておきたい。 2.例えば23を顧客コードフォームに入力しエンターキーを押せば23の顧客データーを検索し各フォームに表示されるようにしたい。 3.23番の顧客を表示後、削除ボタンをおすとそのレコードが削除されるが、23番を2.のように入力するとレコードがない為自動的に新規入力となり保存すると23番目のレコードに挿入されるようにしたい。 以上の3点です。ど素人的な質問ですがどうかよろしくお願いします

  • エクセル2007のテーブルに、レコード追加

    エクセル2003でリスト(データベース)を作成すると、 最終の行に1列に"*"が付いて、レコードが自動的に追加されましたが、 エクセル2007で、レコードを追加する方法は? または、 2003のように、自動的に1行追加させる方法はありませんか? よろしくおねがいします

  • vbからmdbのレコード削除

    今、mdbデータをdataGridに表示させるVBがあります。 そこでdatagridからレコードを選択し、そのレコードをmdbから削除したいのですが、可能でしょうか? できる場合どのようにしたら良いのでしょうか? よろしくお願いします。

  • アクセス2003 - レコード追加について

    同期の代理質問です↓ 新規レコードを入力するフォーム(サブフォームも作成)を作り、コマンドボタンを押すと、サブフォーム(全レコード表示させている)に入力したレコードを追加させる場合、どうしたらいいのでしょうか?   ちなみに、サブフォームに追加されたレコードは、 自動的に昇順に並べ変わるしくみにしたいのですが・・・ 宜しくお願い致します☆

  • レコードセットのデータを1行ごとに抽出したい

    いつもお世話になっております 今、VBを使用してツールを作成しているのですが DataGridにデータベースからレコードセットを 使用してデータを1行ずつ入れていこうと 思っているのですが、レコードセットで1行ずつ データを取れません。 どうか1行ずつのデータのとり方を教えて下さい! お願い致します。

  • 別のACCESSデータベースのテーブルのレコードを追加したいのです

    別のACCESSデータベースのテーブルのレコードを追加したいのです 同じ内容のデータベースが二つあります データベース1とデータベース2を其々別の人がデータを入力しています データベース1にデータベース2のテーブルで T_データT_データ明細の二つのレコードを追加したいのですがどの様にすればよいでしょうか ご指導をお願いいたします。

  • javascript 動的フォームの追加、削除について

    JAVASCRIPTを使って、追加ボタンを押したときに、入力フォーム(textbox)を2個、3個と追加させ、入力フォーム横に設置した削除ボタンで削除ボタン横の入力フォームを削除したいと思っております。 1)delInput2()の引数でボタンごとの情報(何番目のボタンか)を渡したい。 どのようなjavascriptを書けばよいか、ご教授願えませんでしょうか。 どうぞよろしくお願い致します。 <script type="text/javascript"> var arInput = 0; var Default = arInput; function addInput() { //追加処理 arInput ++ $("#area").append('<span id=\"group'+arInput+'\"><input type=\"text\" name=\"text'+arInput+'\" value=\"入力項目'+arInput+'\" /><input type=\"button\" onclick=\"delInput2()\" name=\"button'+arInput+'\" value=\"削除'+arInput+'\" /><br></span>\n'); } function delInput() { //削除処理 $("#group"+arInput).remove(); if(arInput > Default){ arInput -- } } function delInput2() { //指定項目削除処理 } </script> <form> <fieldset id="area"> <fieldset> <input type="button" onclick="addInput()" value="一行追加" /> <input type="button" onclick="delInput()" value="一行削除" /> </fieldset> </form>

  • Accessでパラメーター以外の削除方法は?

    Windows7、Access2010を使って、データベースの作成をしています。 削除クエリを使い、レコードの削除を行っているのですが、検索条件にパラメーターを使っています。このデータベースは、私以外のユーザーに使ってもらうのを前提に作っています。そのため、パラメーターにわざわざ入力させずにすむ方法を探しています。 VBAを使わず、Accessの機能ですませたいです。 レポート画面に必要情報が一覧で表示され、その中から、削除したいデータを選んもらいます。ボタンをクリックすると、埋め込んだ削除クエリが発動、パラメーターで使う相手に手入力で消させています。 レポート画面上のデータを直接クリックしたり、それぞれのデータ横にあるボタンをクリックしたら、データを消すことができる方法をありましたら、教えて下さい。 宜しくお願いします。

  • 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初心者のため、未だにどんなコントロールを使えばうまく処理できるのか分かっていないところがありますので、 どんな些細なことでもお気づきのことがありましたら、教えてください。 自分だったらこんな機能や処理をする!ということもお待ちしております。 宜しくお願いします。