関連記事

  1. DataGridViewへAccessのデータベースファイルを読み込む
  2. AccessDBテーブルの主キー情報を取得する
  3. DataGridViewに読み込んだDB情報を再取得する
  4. DataGridViewをセル編集したときの行数を格納する
  5. Accessのデータベースファイルへ書き込むための接続・切断
  6. Accessデータベースのレコードを削除する ←NOW!
  7. Accessデータベースを更新する

ガッツリ続き物になってしまいました…。過去の分と合わせて順番に読んでいただけると分かりやすいかと思います。

なるべく簡素に書いているので、例外処理は甘いと思われます。ご参考にする際は、ご自分の環境に合わせてご修正ください。

解説のためツギハギしちゃったので、最後の記事(7回め)に全コードまとめてあります。

環境

  • Visual Studio 2010
  • .NET Framework 4.0

です。

コード

150305-1

図のようにどこかが選択されているとして、その行を削除します。

Form2.vb

前回のButton3のクリックイベントを拡張します。

編集中のデータがあったり、どこも選択されていなかったりなど例外処理をしてから、確認メッセージを出して処理に入ります。

49行目、getDeleteSqlを呼び出して DELETE 文を生成します。前回、複数処理を踏まえて型を List にしたので、DELETE 文も List 型になるように作ります。

DBtable.vb

DELETE 文を生成するために、いろいろ関数を書いていきます。

15行目、getDeleteSqlという関数で DELETE 文を List 型に入れて返します。SQL の WHERE 句を生成する処理は、他でも使えるのでそこも関数にして23行目で呼び出しています。

30行目が、WHERE 句を生成して取得するgetWhereTxt関数です。主キーとなるフィールドの数だけ組み立てます。このとき、型によって囲み文字(文字列なら「’」とか)が違うので、そこを判定する関数も別に作って53行目で呼び出しています。

50行目が、囲み文字を取得するgetEncloseTxt関数です。と言っても文字列型と日付型しか処理してませんが…。例外が出てきたらここに追記かなー。

動作確認

ここまでコードを書いてから動かしてみます。

150305-1

ひとつ選んで削除ボタンを押し、

150305-2

確認メッセージをOKしてみると、

150305-3

レコードが削除され、DataGridView が再読込されました。

以上です! 次回、UPDATE と INSERT を実装してひととおり終わりにするつもりですー!

書籍を執筆しています。

  • このエントリーをはてなブックマークに追加
  • follow us in feedly 646
  • RSSを登録

公開日:2015/03/05
更新日:2015/03/16


コメントを残す




*印は必須項目です。コメントは承認制ですので、反映までしばらくお待ち下さい。(稀にですがスパムの誤判定にて届かないこともあるようですので、必要な際はお問い合わせからお願い致します。)


back to top