あなたは何にトキメキますか?

お世話になります。
他の質問と回答を探しましたが、適当なものが無かったので、質問します。

Access2013です。

●フォーム入力時に当日すでに入力済みの明細IDがあるときは、入力できない様にしたいです。
入荷処理のシステムを作成中です。(入力は、バーコードリーダーで発注明細IDを読み込みます)

If DCount("*", "入荷処理クエリ", "[発注明細ID]=[テキスト_発注明細ID]") > 0 Then

MsgBox "入力済みです"
Cancel = True

With [テキスト_発注明細ID]
.SelStart = 0
.SelLength = Len(.Value)
End With

End If

入荷処理クエリーで当日入荷処理済みの発注明細IDを抽出してます。
バーコードを再読込すると入力済みのメッセージが出ます。

入力の途中なら、他の伝票のバーコードを読み込めが良いのですが、最後の伝票で
バーコードの二度読み込み(重複)した場合、そこで入力作業を終わりにしたいの
ですが、他をクリックしても「入力済みです」のメッセージから、抜けられません。

最後の伝票が重複してスキャンされた時の終了方法が、知りたいです。

分納の場合があるので、前日までにその発注明細IDの入力されていた場合は、「入力済
みです」は表示されません。


よろしくお願いします。

A 回答 (1件)

Undoを使ってみてはどうでしょうか?


http://www.accessclub.jp/actips/tips_71.htm
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。

お陰様で、undoで問題解決しました。

下記のように書き換えたら、正常に作動します。

If DCount("*", "入荷実績テーブル", "[発注明細ID]=[テキスト_発注明細ID]") >= 1 Then
 MsgBox "入力済みです"
  Me.Undo
Exit Sub
End If

お礼日時:2016/01/12 17:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報