キョン太のPC日記

PCについて、とPCで書く日記。よって、内容は無制限。

Accessでのデータ削除

2012-04-24 00:21:00 | PC
 ここ数日Accessの変な動作に戸惑っていました。テーブルにあったはずのデータが消えている。

 HDDのエラーが起こってファイル構造が変化しちゃったのだろうかと、CHKDSKをかけてみましたが異常は報告されない。そもそも他のデータファイルには特に異常はないので、HDDエラーとは思えない。それで実験してみたら、どうもアップデートするうちにAccessの仕組みそのものが変わってたのではないかと思えて来ました。

 私が愛用しているバージョンは2003。Windows7入りのPCには2007が入っていますが、まだ私はXPを常用しているので、Office2007はあんまり活用していません。Microsoftからのアップデートはこまめにやっていて、現在のバージョンはSP3になっています。いつそうなったんだかはわかりませんが。

 具体的に何がどうなったのかというと、元の名簿データのテーブルがあって、そこからデータを抜き出して特殊用途に使うデータテーブルを作る。そこからクエリで名簿データを関連づけ、名簿データの一部を抜き出すようにする。そのクエリからフォームを作って通常はフォームでデータを操作する。その際にフォームで一部データを削除すると、関連づけられた元の名簿テーブルのデータも消えてしまう。

 消しているのは特殊テーブルのデータであって、名簿テーブルのデータではないはずなのに名簿テーブルのデータが消えてしまう、という症状は半年前にはありませんでした。

 ともかくそうだということがわかったので、特殊テーブルからデータを削除する際には、フォームでもクエリでもなく、特殊テーブルそのものから削除したら、名簿テーブルのファイルは消えませんでした。

 フォーム上でデータ削除が出来ない、というか、出来るのですが、それやると名簿テーブルのデータも消えてしまうので、フォームだけでデータを操作するということが出来ない。これはとても不便なので、何でこんな不便なことをしたのかなあと不思議。そろそろAccessはやめた方がいいんでしょうか?

 でもほかのデータベースは、いくつか使ったことはありますがAccessが一番馴染んでいるし、すぐにやめるわけにも行きません。それに2007はまだほとんど使ってないのでどういう仕組みになっているのかもわからんし。今のところこれを注意しながら使うしかないですね。