Microsoft Access 掲示板

メインフォームに入力しないとサブフォームに入力できないようにしたい / 3

28 コメント
views
4 フォロー
3

フォームのレコード移動時のイベントプロシージャにも同じコードを記述したらどうでしょう。
同じコードを記述のはちょっという場合は、取引先コード_AfterUpdate をCallすればいいでしょう。

Private Sub Form_Current()
    Call 取引先コード_AfterUpdate
End Sub
通報 ...
  • 4

    ありがとうございます。

    フォームのレコード移動時のイベントプロシージャに同じコードを入れてみましたが「取引先コード」にデータ入力しても「受注明細」のEnabledがFalseのままで入力できない状態です。
    因みに「取引先コード」のAfterUpdateをCallしてみても同じ状態でした。
    先にコードが入っているのでそれの影響があるのでしょうか?

    Private Sub Form_Current()

       If Me.NewRecord = False Then Exit Sub
           Dim AutoID As String
           Dim MaxID As Variant
           AutoID = Format(Date, "yyyymmdd")
           MaxID = DMax("受注コード", "T_受注", "Left(受注コード,8)=" & AutoID)
       If IsNull(MaxID) Then
           Me.受注コード.DefaultValue = AutoID & "001"
       Else
           Me.受注コード.DefaultValue = AutoID & Format(Right(MaxID, 3) + 1, "000")
       End If
       If IsNull(Me.取引先コード.Value) Then
            Me.受注明細.Enabled = False
       Else
            Me.受注明細.Enabled = True
       End If

    End Sub

    現状この状態ですが上記の動作になってしまいます。
    何が原因でしょう?