PSLine2000Documentation/Forms/DS MultShear.md

4.6 KiB

DS MultShear


Record Source

Controls

Control Name Reference
PartNumber PartNumber (from Queries/DataSheetQ1)
Operation Operation (from Queries/DataSheetQ1)
Elem1V1 Elem1V1 (from Queries/DataSheetQ1)
Paperwork Paperwork (from Queries/DataSheetQ1)
TotalSelectTime TotalSelectTime (from Queries/DataSheetQ1)
StandardMinutes/part StandardMinutes/part (from Queries/DataSheetQ1)
pf&d pf&d (from Queries/DataSheetQ1)
StandardHours/part StandardHours/part (from Queries/DataSheetQ1)
StandardParts StandardParts (from Queries/DataSheetQ1)
Elem1A Elem1A (from Queries/DataSheetQ1)
Elem2V2 Elem4V1 (from Queries/DataSheetQ1)
Elem2V3 Elem4A (from Queries/DataSheetQ1)
Elem3A Elem5V1 (from Queries/DataSheetQ1)
Elem3V1 Elem5A (from Queries/DataSheetQ1)
Elem3V2 Elem6V1 (from Queries/DataSheetQ1)
Elem3V3 Elem6A (from Queries/DataSheetQ1)
Elem4V1 Elem7A (from Queries/DataSheetQ1)
Elem5A Elem8A (from Queries/DataSheetQ1)
Elem9A Elem10A (from Queries/DataSheetQ1)
Elem9V2 Elem11A (from Queries/DataSheetQ1)
Field412 Elem2V1 (from Queries/DataSheetQ1)
Field413 Elem2A (from Queries/DataSheetQ1)
Field414 Elem3V1 (from Queries/DataSheetQ1)
Field415 Elem3A (from Queries/DataSheetQ1)
Field423 Elem7V1 (from Queries/DataSheetQ1)
Field429 Elem8V1 (from Queries/DataSheetQ1)
Field441 Elem9A (from Queries/DataSheetQ1)
Field446 Elem9V2 (from Queries/DataSheetQ1)
Field449 Elem9V1 (from Queries/DataSheetQ1)
Field450 Elem10V1 (from Queries/DataSheetQ1)
Field453 Elem11V2 (from Queries/DataSheetQ1)
Field455 Elem11V1 (from Queries/DataSheetQ1)
Field469 Elem12A (from Queries/DataSheetQ1)

VBA Code

Option Compare Database   'Use database order for string comparisons

Private Sub Form_Load()
   On Error GoTo die
   If IsNull(Me![PartNumber]) Then
      End
   End If
Exit Sub
HelpMe:
    DoCmd.SelectObject A_FORM, "DS MultShear"
    DoCmd.Close
Exit Sub
die:
   Resume HelpMe

End Sub

What it does

VBA Code Description: Form_Load Event Handler

Overview

This VBA code snippet is an event handler for the Load event of a form in Microsoft Access. The code is responsible for initializing certain settings and behavior when the form is loaded.

Key Functions:

  1. Error Handling: The code uses On Error GoTo die to catch any errors that occur during execution. If an error occurs, it redirects the control flow to the labeled die label.
  2. Null Check: It checks if the PartNumber field in the form is null or undefined using IsNull(Me![PartNumber]). If it is, the code skips the rest of the subroutine and exits.
  3. Default Form Opening: The code opens a new instance of the "DS MultShear" form using DoCmd.SelectObject A_FORM, "DS MultShear" and closes the current active window using DoCmd.Close.
  4. Exiting Early: If an error occurs or the PartNumber field is null, the code exits early from the subroutine.

Step-by-Step Explanation:

  1. The code starts by declaring that string comparisons will be performed in database order using Option Compare Database.
  2. It then defines a private subroutine called Form_Load, which is the event handler for the Load event of the form.
  3. Inside the subroutine, it checks if there's an error and, if so, skips to the die label.
  4. Next, it checks if the PartNumber field in the form is null or undefined. If so, it exits the subroutine using End.
  5. The code then opens a new instance of the "DS MultShear" form using DoCmd.SelectObject A_FORM, "DS MultShear" and closes the current active window using DoCmd.Close.
  6. If an error occurs or the PartNumber field is null, it skips to the die label and resumes execution from there.

Example Use Case:

This code can be used in a Microsoft Access application where you want to ensure that certain actions are performed when a form is loaded. For instance, it might be used in an inventory management system to check if a part number is required before opening the "DS MultShear" form.

Code Improvements Suggestions

  • Consider adding more error handling or logging mechanisms to provide better insights into what's causing errors.
  • Refactor the code to make it more concise and readable by breaking it down into smaller, more focused subroutines.
  • Use meaningful variable names instead of abbreviations like A_FORM and Me![PartNumber].