2012-03-07 10 views
0

私は大きなコードセグメントを持っていますが、それはユーザーエラーがある場合を除いてすべて動作します。 ユーザーが値を入力する必要があるテキストボックスがあり、ボタンをクリックしてテーブルを更新します。If..Else do understand

ユーザがボックスを空白のままにしてボタンをクリックすると、ボックスに値が入力され、一連のコマンドが実行され、SQLが実行されている場合、msgボックスがポップアップして値を入力します。

残念ながら、ボックスを空白のままにすると、msgボックスが表示されますが、コマンドとSQLは実行されます。

私は本当に明白な何かを見逃しているかもしれないと思うが、私はそれのまわりで頭を上げることができない。これは

If IsNull(Me.TxtStockValue) Then MsgBox "Please Select An Item To Update Stock And Ensure A Value Has Been Entered" Else: 
DoCmd.RunSQL SQLDelete1 
DoCmd.SetWarnings False 
DoCmd.RunSQL SQLStory 
DoCmd.RunSQL SQLDelete2 
DoCmd.RunSQL SQLUpdate 
DoCmd.SetWarnings True 

txtStockValue

空にすることはできませんtxtのボックスです...私に問題を引き起こしているコードのブロックです。それ以外は、私が望むように動作していないようです。

サム

+1

これは私が既にhttp://stackoverflow.com/questions/9514474/query-syntax-error/9514535#9514535で解決策を提示したのとまったく同じ問題です。さらに、RunSQLではなくExecuteを使用して警告を設定することを強くお勧めします。あなたがすべてのアドバイスを無視し、あなたが受け入れ可能であると感じる答えを得るまであなたはすべての思考を避けることを可能にするまで質問を掲示し続けるつもりですか? – Fionnuala

答えて

6

おかげでこれを試してみてください - あなたのバージョンでのみ最初の文(SQLDelete1)は他の部分で、残りは常に実行されます。

If IsNull(Me.TxtStockValue) Then 
    MsgBox "Please Select An Item To Update Stock And Ensure A Value Has Been Entered" 
Else 
    DoCmd.RunSQL SQLDelete1 
    DoCmd.SetWarnings False 
    DoCmd.RunSQL SQLStory 
    DoCmd.RunSQL SQLDelete2 
    DoCmd.RunSQL SQLUpdate 
    DoCmd.SetWarnings True 
End If 
+0

ありがとうございます:)完璧 –