ウィングのHPへようこそ 本文へジャンプ
サンプル一覧へ戻る

コードチェックをするVBA


フォームでテキストボックスにデータを入力し、それがすでにDBに登録されているかどうかをチェックします。
下記の例は仕入先コード(テキストボックス)に新たなコードを入れたときに、まず、入力があるかチェックします。
入力なしのときはエラーとします。
次に「変更前仕入先コード」と入力した仕入先コードを比較します。これはレコード移動時(Form_Current)にフォーム上に作成した変更前仕入先コード(テキストボックス)に画面上の仕入先コードをセットします。
この処理をすることによって、入力時に今まで入力してあった仕入先コードと同一のコードを再入力したときにエラーにならないようにします。
<ソース例>


Private Sub Form_Current()
  Me!変更前仕入先コード = Me!仕入先コード
End Sub


Private Sub 仕入先コード_BeforeUpdate(Cancel As Integer)
  Dim code

  If IsNull(Me!仕入先コード) Then
    MsgBox "仕入先コードを入力してください"
    Cancel = True
    Exit Sub
  End If

  If Me!仕入先コード = Me!変更前仕入先コード Then
    Exit Sub
  End If

  code = DLookup("仕入先コード", "仕入先マスタ", "種別区分=" & Me!種別区分)
  If Not IsNull(code) Then
    MsgBox "入力された仕入先コードは既に使われています。"
    Cancel = True
    Exit Sub
  End If

End Sub

サンプル一覧へ戻る
 

Copyright(C) 2006 Wing