- ベストアンサー
MSアクセスでのコマンドボタンについて
色々調べてはみましたが、なかなかヒットしなくって。。 ご存知の方がいらしたら教えていただけると大変助かります。 実はコマンドボタンで、とある連番(日付+4桁の連番数字)をコマンドボタンを押した時にテキストボックスに発生させるようにしているのですが、あまりPCに慣れていない人も操作する事が想定されますので、『間違ってボタンを2回押してしまった』なんて事が無いように、コマンドボタンが1回しか機能しないようにさせたいのですが、そんな事は可能でしょうか? レコードを識別する大元になっている重要なコードなので、知らない間に誰かがボタンを複数回押し、コード番号が変わってしまうと意味の無い物になってしまいますので。。。 このコードが主キーに出来るような構造であれば別の方法で簡単に心配する事を回避出来るとは思うのですが、主キーに出来ない為困っています。 ヒントだけでも構いませんので、ご教授下さい。 お願いします! アクセス2000 OS:ウイン98SEです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
whitemarkさんこんにちは。 コードが入力されるテキストボックスが、空欄のときのみコマンドが有効になるようにしてみてはいかがでしょうか。 フォームのコードを表示して、コマンドボタンのところに「If」構文を使って If IsNull(テキストボックス名) Then 'テキストボックスが空欄なら Exit sub 'Exit subする Else 'テキストボックスが空欄でないなら ~~~~~ End If として~~の部分には計算され値を表示する式をそのままにしておきます。 この方法ですと、式を書く場所によってはコードが未入力のまま作業が進むのも防止できます。 NULLかどうか以外にも、Val(Format(テクストボックス名))=0 で数字に直すと0になる(先頭が0以外の数字の羅列なら0以外になるはず)ならとかも使えるかもしれません。 細かな内容はヘルプを参照してください。
その他の回答 (1)
- zealzany
- ベストアンサー率35% (19/53)
No1さんの回答で対応できるとおもいますが、さらに念のためコマンドボタンに発番をまかせるのなら、テキストボックスの編集ロック(Enabled)をコマンドボタンでOFF/ON制御した方が良いと思います。
お礼
初めまして。 こちらも名案ですね! 実は見積りした物件が受注した場合に、見積もりコードでまとめた情報をそのまま受注簿に移動させたかったのですが、受注フォームを開いた瞬間から見積もりコードが存在するため、受注コードをプロシージャーで発生させるタイミングが難しく、半ば諦めていました。 アイデア次第で色々な事ができるんですね!アクセスって。 まだまだ勉強中の身ですが、またテンバってしまった時は何卒宜しくお願いいたします。 本当にありがとうございました(^-^)/
お礼
始めまして。早速お返事頂けてありがとうございます! 今日は緊急で昼夜とも出かけていたためお返事が遅くなってしまって申し訳ありません。 しかしそんな事も出来るとはびっくりしました。っと言うか、すごい名案ですね! いくら不慣れな人でも、テキストボックスの中を削除し、更にコマンドボタン押してしまう。。なんて事はあまり考えられないですよね。 僕的には眼から鱗っと言った感じです。 実はまだアクセス歴1ヶ月ほどでして、普通に使うのがやっと。。の状態です。 明日にでもVBAの本を探して、早速取り組んでみたいと思います! 名案ありがとうございました(^-^)/