| 
    
     |  | 初めまして! 部品問屋のイメージで得意先からの要求に対して出庫処理を登録するDBを作っています。
 
 フォーム上には、部品コードと該当する部品の数量を入力するテキストボックスを各20個配置しています。
 入力が終わった後、登録ボタンをクリックして、ループ処理で登録します。
 ただ人が入力するため、同じ部品を重複してテキストボックスに入力してしまうことがあるため、登録前にチェックして重複を促して処理を中断するか、各テキストボックスに部品コードを入力した際に、先に入力したテキストボックスの値との重複確認させて改めたいと考えています。
 
 ACCESS 2010
 テキストボックス
 ・部品コード入力用:txt_BHN_1〜txt_BHN_20
 ・数量入力用   :txt_SU_1〜txt_SU_20
 
 出来れば部品コードが入力された後にその他の19個のテキストボックスの値と重複チェックを行いその都度修正したいと考えています。
 重複していればメッセージを表示して、入力したテキストボックスをクリアし、SetFocusしたいと思います。
 
 当初は各テキストボックスのAfterUpdate処理に、以下のようにループを使ってテキストボックス名もカウントアップしてその他のテキストボックスを確認しようと考えました。
 
 Private Sub txt_BOX_1_AfterUpdate()
 
 Dim i As Integer
 Dim N As Integer
 Dim intN As Integer
 
 i = 1
 N = 2
 
 For i = 1 To 20
 intN = "Me.txt_BOX_'" & N & ".value'"
 
 If IsNull(intN) = True Or intN = "" Then
 ’チェックするテクストボックスが空白ならば何もしない。
 
 Else
 
 If Me.txt_BOX_1.Value = intN Then
 
 MsgBox "部品コードが重複しています!", vbCritical, "警告"
 txt_BOX_1.SetFocus
 CMD_ADD.Visible = False     ’登録ボタンを非表示にする
 txt_BOX_1.BackColor = 8421631  ' 重複しているテキストボックスの背景を赤に
 Exit Sub
 
 End If
 
 End If
 
 N = N + 1
 i = i + 1
 
 Next
 
 End Sub
 
 
 これだと1個目のテキストボックスに対しては、その他のテキストボックスのチェックは可能なように思いますが、2番目以降のテキストボックスに対してチェックする場合に、自身を含めずにチェックするイメージが湧かず行き詰ってしまいました。
 
 重複チェックといえば、レコードに登録されていないかのチェックの質問が多く
 類似した質問を見つけることができず、どうかご教示の程、よろしくお願い申し上げます。
 
 |  |