Results 1 to 6 of 6
  1. #1
    hemanaguib is offline Novice
    Windows 10 Access 2013 64bit
    Join Date
    Jun 2017
    Posts
    8

    Unhappy Auto Check box in subform

    Click image for larger version. 
<br /><script async src=
    Name: Untit55214led.jpg  Views: 15  Size: 110.6 KB  ID: 29196" class="thumbnail" style="float:CONFIG" />


    Hi,


    I have participant's attendance form, I have a search box by "name or phone number" and if participant after search (Hasdate) in mainform, I check the first not checked box manually.


    I want to pragmatically that job through on click search button? If participant has data in mainform, code will check=true to the first not checked box in subform?


    I hope some one can help or giving idea,


    Thanks for all in advance.

  2. #2
    aytee111 is offline Competent At Times
    Windows 10 Access 2013 64bit
    Join Date
    Nov 2011
    Location
    Nomad
    Posts
    3,936
    What are the conditions under which you want the box set to true (or false)?
    If there is a date in the field? A simple Update query will do this.
    What if there are multiple dates?
    Or do you want to check the box regardless of whether there is a date or not?

  3. #3
    hemanaguib is offline Novice
    Windows 10 Access 2013 64bit
    Join Date
    Jun 2017
    Posts
    8
    Thanks Atyeee for your reply,
    I want if Main form has data after search, chech the first available box regardless of whether there is a date or not?

  4. #4
    aytee111 is offline Competent At Times
    Windows 10 Access 2013 64bit
    Join Date
    Nov 2011
    Location
    Nomad
    Posts
    3,936
    In the AfterUpdate event of your search box, add this code:

    Code:
        If Me.RecordsetClone.RecordCount = 0 Then 
            MsgBox "No records found"
            Exit Sub
        End If
        
    'option 1 - if the checkboxes are named "Check1, Check2,...
        Dim x As Integer
        For x = 1 To 8
            If Me("Check" & x) = False Then
                Me("Check" & x) = True
                Exit For
            End If
        Next
        
    'option 2 - if the checkboxes are named individually
        If Me!checkboxA = True Then
            If Me!checkboxB = True Then
                If Me!checkboxC = True Then
                    '.....
                Else
                    Me!checkboxC = True
                End If
            Else
                Me!checkboxB = True
            End If
        Else
            Me!checkboxA = True
        End If

  5. #5
    hemanaguib is offline Novice
    Windows 10 Access 2013 64bit
    Join Date
    Jun 2017
    Posts
    8
    I really appreciate your support aytee111, I edit little the code and its working now as required.

    Here is my used code, may be some one can use

    Code:
    DoCmd.ApplyFilter "", "[TrainerID] = [Forms]![FRMAttendance]![Text145] Or [Name] = [Forms]![FRMAttendance]![Text145]", ""    If Me.RecordsetClone.RecordCount = 0 Then
            MsgBox "لا يوجد بيانات متوفرة، يرجى مراجعة النظام"
            Exit Sub
        End If
    If Me.attendancetbl_subform.Form.Attendance_Status1 = False Then
    Me.attendancetbl_subform.Form.Attendance_Status1 = True ' if Me.attendancetbl_subform.Form.Attendance_Status1 positive
    Me.attendancetbl_subform.Form.Attendance_Date1 = Date
    Exit Sub
    End If
    ' if Me.attendancetbl_subform.Form.Attendance_Status1 negative Else
    If Me.attendancetbl_subform.Form.Attendance_Status2 = False Then
    Me.attendancetbl_subform.Form.Attendance_Status2 = True ' if Me.attendancetbl_subform.Form.Attendance_Status2 positive
    Me.attendancetbl_subform.Form.Attendance_Date2 = Date
    Exit Sub
    End If
    ' if Me.attendancetbl_subform.Form.Attendance_Status2 negative Else
    If Me.attendancetbl_subform.Form.Attendance_Status3 = False Then
    Me.attendancetbl_subform.Form.Attendance_Status3 = True ' if Me.attendancetbl_subform.Form.Attendance_Status3 positive
    Me.attendancetbl_subform.Form.Attendance_Date3 = Date
    Exit Sub
    End If
    ' if Me.attendancetbl_subform.Form.Attendance_Status3 negative Else
    If Me.attendancetbl_subform.Form.Attendance_Status4 = False Then
    Me.attendancetbl_subform.Form.Attendance_Status4 = True ' if Me.attendancetbl_subform.Form.Attendance_Status4 positive
    Me.attendancetbl_subform.Form.Attendance_Date4 = Date
    Exit Sub
    End If
    ' if Me.attendancetbl_subform.Form.Attendance_Status4 negative Else
    If Me.attendancetbl_subform.Form.Attendance_Status5 = False Then
    Me.attendancetbl_subform.Form.Attendance_Status5 = True ' if Me.attendancetbl_subform.Form.Attendance_Status5 positive
    Me.attendancetbl_subform.Form.Attendance_Date5 = Date
    Exit Sub
    End If
    ' if Me.attendancetbl_subform.Form.Attendance_Status5 negative Else
    If Me.attendancetbl_subform.Form.Attendance_Status6 = False Then
    Me.attendancetbl_subform.Form.Attendance_Status6 = True ' if Me.attendancetbl_subform.Form.Attendance_Status6 positive
    Me.attendancetbl_subform.Form.Attendance_Date6 = Date
    Exit Sub
    End If
    ' if Me.attendancetbl_subform.Form.Attendance_Status6 negative Else
    If Me.attendancetbl_subform.Form.Attendance_Status7 = False Then
    Me.attendancetbl_subform.Form.Attendance_Status7 = True ' if Me.attendancetbl_subform.Form.Attendance_Status7 positive
    Me.attendancetbl_subform.Form.Attendance_Date7 = Date
    Exit Sub
    End If
    ' if Me.attendancetbl_subform.Form.Attendance_Status7 negative Else
    If Me.attendancetbl_subform.Form.Attendance_Status8 = False Then
    Me.attendancetbl_subform.Form.Attendance_Status8 = True ' if Me.attendancetbl_subform.Form.Attendance_Status8 positive
    Me.attendancetbl_subform.Form.Attendance_Date8 = Date
    Exit Sub
    End If
    ' if Me.attendancetbl_subform.Form.Attendance_Status8 negative
    MsgBox "تم استخدام كافة الحصص"
    Exit Sub
    Quote Originally Posted by aytee111 View Post
    In the AfterUpdate event of your search box, add this code:

    Code:
        If Me.RecordsetClone.RecordCount = 0 Then 
            MsgBox "No records found"
            Exit Sub
        End If
        
    'option 1 - if the checkboxes are named "Check1, Check2,...
        Dim x As Integer
        For x = 1 To 8
            If Me("Check" & x) = False Then
                Me("Check" & x) = True
                Exit For
            End If
        Next
        
    'option 2 - if the checkboxes are named individually
        If Me!checkboxA = True Then
            If Me!checkboxB = True Then
                If Me!checkboxC = True Then
                    '.....
                Else
                    Me!checkboxC = True
                End If
            Else
                Me!checkboxB = True
            End If
        Else
            Me!checkboxA = True
        End If

  6. #6
    aytee111 is offline Competent At Times
    Windows 10 Access 2013 64bit
    Join Date
    Nov 2011
    Location
    Nomad
    Posts
    3,936
    You could have used option 1! Much simpler.

    Glad it is working.

Please reply to this thread with any new information or opinions.

Similar Threads

  1. Auto Spell Check in Form Field
    By Njliven in forum Forms
    Replies: 7
    Last Post: 04-26-2017, 07:44 AM
  2. Replies: 4
    Last Post: 04-01-2016, 09:14 AM
  3. Report that auto assigns check numbers
    By jonathangpark in forum Reports
    Replies: 11
    Last Post: 04-22-2014, 02:58 PM
  4. Replies: 3
    Last Post: 11-02-2012, 11:00 AM
  5. Auto date based on check box
    By bkirsch in forum Access
    Replies: 7
    Last Post: 01-15-2012, 11:38 AM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Other Forums: Microsoft Office Forums