Access2010でテキストボックスにnullを設定する方法

現在、Access2000→Access2010への移行でエラーが出ている箇所を
修正して欲しいという依頼が入り、着手しています。

Access2010の不具合なのか仕様なのかわかりませんが
全体的に既定値の取扱い方の考え方が変わったようです。
Access2007では問題なかったのですが、Access2010ではテキストボックスにnullを原則設定できないようです。
なので、それ以前の環境で作成したAccessを2010に移行する際に
nullを判定したり使用するような作りのプログラムは
かなり要注意というか、全体的にチェックしないとあちこちに不具合が出てしまいます。

Access2010でテキストボックスにnullを設定したい場合も
プログラムの作りによってはあると思うのですが、これが突然できなくなると、かなり困ります。
そこで色々と試してみたところ、
テキストボックスのプロパティ→既定値にnullと設定すると
テキストボックスにnullを代入することができるようになりました。

後は、タイマーコントロールがつかえなくなったそうです。
幸い、今回のシステムはタイマーコントロールを使っていないので
不具合が出ている数箇所を入念にチェックしたいと思います。
(多分、殆どがこのテキストボックスの問題だと思われる)

ちなみに、テキストボックスの既定値に何か値が既に
設定されている場合は、必ず画面起動時の初期化関数で
テキストボックスの初期値に既定値を設定するようにして
テキストボックスのプロパティ既定値をnullにします。

でないと、本来想定していた既定値が設定されないことにより
別の不具合が発生しかねないからです。私から見たら、もう2010?という感じです。
追いついていくのも大変ですね。
これで自宅には、Access2000、Access2007、Access2010の環境が揃いました。
同じPCにインストールできないので、別PCにそれぞれ入れています。

~2011/6/16 追記
同時インストールできないと記載してしまいましたが
同じPCで別バージョンのAccessの共存は推奨されていませんが可能のようです。

~2011/8/1 追記
我が家のAccess2007は、アップデート版らしくAccess2003は消えてしまいました


タイトルとURLをコピーしました