プログラミングやパソコン設定など備忘録

あきらちんの技術メモ

EXCEL VBA

EXCEL VBAでSQL文を使う

更新日:

EXCEL VBAでSQL文を使って集計するでは、SELECT文を利用できましたが、INSERTやUPDATEにDELETEなどは利用できるのか試してみました。

集計で利用したEXCELシートにボタンを3つ追加してみました。

以下がテーブルになります。

INSERT文

「INSERT」ボタンが押されたときにデータを1件追加するようにしました。

7/20の日付でZさんが追加される予定です。

INSERTボタンを押してから、Sheet1を表示したら一番下に追加されておりました。

UPDATE文

「UPDATE」ボタンが押されたときにZさんデータが更新されるようにしました。

勤務時間が8から10に更新される予定です。

UPDATE ボタンを押してから、Sheet1を表示したら一番下のZさんの勤務時間が更新されておりました。

DELETE文

「DELETE」ボタンが押されたときにZさんデータが削除されるようにしました。

エラーメッセージが表示され削除出来ませんでした。

「 このISAMでは、リンクテーブル内のデータを削除することはできません。 」

とりあえずUPDATE文で全ての項目にnullをセットして更新するしかないかも。

更新後は空の行として残ってしまうのでソートして最下行に移動させる様にします。

その後、追加すると空行の次にデータが追加されるのでもう一工夫します。

空行を削除してしまえば良いのですが、削除データが複数レコードになる場合も想定し、ソートして最下行になった空行からデータの範囲選択( CTRL+SHIFT+ENDキーを押したときの動き)して取得できた最終行までを削除します。

これでなんちゃって削除が動くようになりました。

ソートしたくない場合は、ループで回して空行を見つけたら削除するような仕組みが必要だと思います。

 

スポンサードリンク

スポンサードリンク

-EXCEL, VBA
-, , , ,

Copyright© あきらちんの技術メモ , 2023 All Rights Reserved Powered by STINGER.