
AccessのコンポボックスでNULLを入れたくない
Accessのテーブルで、NULLの代わりに0を入れたいのですが、どうすればいいのでしょうか?
テーブルの既定値は0です。
そのテーブルには、フォームのコンボボックスから値を入れます。
そのコンボボックスの選択は必修ではありません。
そのため、選択しない場合は、既定値の0が入ります。
また、選択した場合は、数字が入ります。
問題は、コンボボックスで選択して、やめた場合です。
まず、コンボボックスで選びます。
でも、きが変わり、デリート(削除)でコンボボックスを空欄にします。
そして、更新した場合、テーブルにNULLが入ります。
私の希望は、コンボボックスをデリート(削除)した場合、既定値の0を入れたいのですがどうすればいいのでしょうか?
値要求は、メッセージ(ダイアログ?)が出るので、設定しないものとします。(他の人が、そのメッセージが出るたびに、どうすればいいかきいてくるからです。)
よろしくお願いします。
No.4ベストアンサー
- 回答日時:
VBAになりますが
そのコンボボックスの更新後処理に
Private Sub コンボボックス名_AfterUpdate()
Me!コンボボックス名 = Nz(Me!コンボボックス名, 0)
End Sub
とすればNullの場合だけゼロに変換されます。
ありがとうございます。
これで、問題が解決しました。
ところで、最初の条件のところで、VBAは除くと入れようと思っていました。
しかし、それは無理だろうと思い、その条件は除外しました。
でも、これをマクロでやる(VBA以外)ってのは無理でしょうか?
No.9
- 回答日時:
> でも、これをマクロでやる(VBA以外)ってのは無理でしょうか?
なぜマクロでやりたいのかは不明ですが
更新後処理のマクロで
値の代入
アイテム [Forms]![フォーム名]![コンボボックス名]
式 Nz([Forms]![フォーム名]![コンボボックス名],0)
でできるでしょう。
エラー時にダイアログで簡単な説明を表示しても、読んでくれないのが人によっては"普通"みたいで、開発者が近くにいるから使用者も甘えてしまうのでしょうね。
ありがとうございます。
えっ!マクロでも出来るんですか?
私はこの問題にぶつかったとき、VBAでやるしか方法はないと考えていました。
>なぜマクロでやりたいのかは不明ですが
このシステムを作るに当っての条件として、だれでもわかると言う条件が付けられました。
その条件で行くと、VBAは却下となります。
しかし、VBAしか方法がないとなれば、例外も認められます。
そのため、マクロでは出来ないと言う確認のため、質問してみました。
No.8
- 回答日時:
参考に。
ほか、マクロの、条件式あり値の代入やリストボックスを見ておくといいのでは?。
マニュアルは作らなくても簡単な手順説明1フォーム画面あるだけでも違います。
ありがとうございます。
>簡単な手順説明1フォーム画面あるだけ
と、思うのですが、私のところでは、余分な画面があるだけで
「むずかし~、わからん」
「やっぱり、前のシステム(エクセル)の方が簡単や~」
となります。
そのため、不必要に文字を大きくしたりして、なるべく拒否反応が起らないようにする必要があります。
まるで幼稚園児に物を教えるような配慮が必要になります。
No.6
- 回答日時:
さらに追伸 (^^ゞ
いくら頑張ってすばらしい操作マニュアルを作成しても
勉強会のような形で半ば強制的に覚えてもらわないと
ほとんどの場合は『そこに置いといて後で見るから』で終わってしまい勝ち。
フォームのプロパティのその他タブにヒントテキストてのがありますので
簡単な説明はここに入れてあげましょう。
さらに追記(T-T)
>『そこに置いといて後で見るから』
そんな前向きな答えさえ期待できません。
上を見ればきりがありません。
そして、下を見てもきりがありません。
世の中には、創造を超えるところもあるようです。
No.5
- 回答日時:
追伸
まったく見ず知らずの第三者に使ってもらうのではなく
社内で使用する場合には、ある程度運用面で対応して行ったほうが良いかと
思います。
>他の人が、そのメッセージが出るたびに、どうすればいいかきいてくるからです。
社内使用の場合なら、そのアプリケーションの操作マニュアルを作り
また、コンボボックスはプルダウンした中から選ばんとイカン等々の
教育も必要かと。
作りこむのも大切ですがね。
正直『よくやってくれるよ』と言いたくなることもあり。
↑これは使用者への愚痴です。
ありがとうございます。
>コンボボックスはプルダウンした中から選ばんとイカン等々の
教育も必要かと。
私も、初めのころは、同じ考えでした。
しかし、今は、無理なものは無理と悟りました。
教育するどころか、私が教育された気分です。
あきらめることも肝心。
私が、この会社で唯一覚えたことかも知れません。
No.3
- 回答日時:
コンボボックスでしたね。
前の伝えたやり方でなく、更新したい値0をコンボボックスの見せない列に追加したらそう手間かからないし簡単です。既にあるものは更新クエリで良いです。
No.2
- 回答日時:
>そのテーブルには、フォームのコンボボックスから値を入れます。
(ユーザにテーブルに0がセットされたかどうかその瞬間で解らせる必要がなければ)
フォームのコンボボックスを非連結項目にしておいて、
テーブルへは
フォームのコンボボックスの更新後結果を元に更新する。
一通りの入力が終わったときに、
0にしたいデータがどれか、判断できれば更新クエリで一括更新も可能かと
思います。
ありがとうございます。
今回、テーブルをチェックして、NULLが入ることがわかりました。
だから、今までのデータは、更新クエリで修正するつもりです。
しかし、私は忘れっぽい。
ACCESSなんて、たまにしか触らない為、簡単なことでさえ忘れてしまいます。
今回も、久しぶりのため、入門書片手に質問しています。
そのため、できるだけ手間はかけないようにしたいと考えています。
入力時点で、0が入る処理はないでしょうか?
更新クエリでさえ、覚えておく自信がありません。(情けないですが・・・)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アトピー性皮膚炎
-
コロナになるのが死ぬほど怖い...
-
24歳、女性です。性欲が強すぎ...
-
頭痛に関する質問です。現在高...
-
肝臓がんになりたいです。肝機...
-
未成年の従姉妹が自分の真似絵...
-
◎敢えてノンジャンルカテゴリー...
-
何故 削除され続けるか、
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
血液検査の結果が悪くefgrの値...
-
彼女のことが好きすぎて彼女の...
-
風俗店へ行く前のご飯
-
2つの数値のうち、数値が小さい...
-
excel関数で TRUEやFALSEについて
-
excelでsin二乗のやり方を教え...
-
イタリアから帰国する際、肉製...
-
EXCELで条件付き書式で空白セル...
-
エクセルのラベルの値(文字列...
-
リンク先のファイルを開かなく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
血小板増加について
-
彼女のことが好きすぎて彼女の...
-
Excel 数値の前の「 ' 」を一括...
-
病院側から早く来てくださいと...
-
VLOOKUP関数を使用時、検索する...
-
腕を見たら黄色くなってる部分...
-
値が入っているときだけ計算結...
-
リンク先のファイルを開かなく...
-
2つの数値のうち、数値が小さい...
-
風俗店へ行く前のご飯
-
小数点以下を繰り上げたものを...
-
一番多く表示のある値(文字列...
-
MIN関数で空白セルを無視したい...
-
勃起する時って痛いんですか? ...
-
エクセルで空白セルを含む列の...
-
増減表のプラスマイナスの符号...
-
【Excelで「正弦波」のグラフを...
-
エクセルで数式の答えを数値と...
おすすめ情報