PSLine2000Documentation/Forms/DS Shear.md

107 lines
5.2 KiB
Markdown

# DS Shear
Analysis generated on: 4/1/2025 4:10:37 PM
---
## Record Source
- [[Queries/DataSheetQ1]]
## Controls
| Control Name | Reference |
|--------------|-----------|
| PartNumber | PartNumber (from [[Queries/DataSheetQ1]]) |
| Operation | Operation (from [[Queries/DataSheetQ1]]) |
| Elem1A | Elem1A (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]]) |
| Elem1V1 | Elem1V1 (from [[Queries/DataSheetQ1]]) |
| Elem1V2 | Elem1V2 (from [[Queries/DataSheetQ1]]) |
| Elem1V3 | Elem1V3 (from [[Queries/DataSheetQ1]]) |
| Elem2A | Elem2A (from [[Queries/DataSheetQ1]]) |
| Elem2V1 | Elem2V1 (from [[Queries/DataSheetQ1]]) |
| Elem2V2 | Elem2V2 (from [[Queries/DataSheetQ1]]) |
| Elem2V3 | Elem2V3 (from [[Queries/DataSheetQ1]]) |
| Elem3A | Elem3A (from [[Queries/DataSheetQ1]]) |
| Elem3V1 | Elem3V1 (from [[Queries/DataSheetQ1]]) |
| Elem3V2 | Elem3V2 (from [[Queries/DataSheetQ1]]) |
| Elem3V3 | Elem3V3 (from [[Queries/DataSheetQ1]]) |
| Elem4A | Elem4A (from [[Queries/DataSheetQ1]]) |
| Elem4V1 | Elem4V1 (from [[Queries/DataSheetQ1]]) |
| Elem4V2 | Elem4V2 (from [[Queries/DataSheetQ1]]) |
| Elem4V3 | Elem4V3 (from [[Queries/DataSheetQ1]]) |
| Elem5A | Elem5A (from [[Queries/DataSheetQ1]]) |
| Elem5V1 | Elem5V1 (from [[Queries/DataSheetQ1]]) |
| Elem5V2 | Elem5V2 (from [[Queries/DataSheetQ1]]) |
| Elem5V3 | Elem5V3 (from [[Queries/DataSheetQ1]]) |
| Elem6A | Elem6A (from [[Queries/DataSheetQ1]]) |
| Elem6V1 | Elem6V1 (from [[Queries/DataSheetQ1]]) |
| Elem6V2 | Elem6V2 (from [[Queries/DataSheetQ1]]) |
| Elem6V3 | Elem6V3 (from [[Queries/DataSheetQ1]]) |
| Field362 | Elem7A (from [[Queries/DataSheetQ1]]) |
| Field364 | Elem7V1 (from [[Queries/DataSheetQ1]]) |
| Elem7V2 | Elem7V2 (from [[Queries/DataSheetQ1]]) |
| Elem7V3 | Elem7V3 (from [[Queries/DataSheetQ1]]) |
| Elem8A | Elem8A (from [[Queries/DataSheetQ1]]) |
| Elem8V1 | Elem8V1 (from [[Queries/DataSheetQ1]]) |
| Elem8V2 | Elem8V2 (from [[Queries/DataSheetQ1]]) |
| Elem8V3 | Elem8V3 (from [[Queries/DataSheetQ1]]) |
| Elem9A | Elem9A (from [[Queries/DataSheetQ1]]) |
| Elem9V1 | Elem9V1 (from [[Queries/DataSheetQ1]]) |
| Elem9V2 | Elem9V2 (from [[Queries/DataSheetQ1]]) |
| Elem9V3 | Elem9V3 (from [[Queries/DataSheetQ1]]) |
| Elem10A | Elem10A (from [[Queries/DataSheetQ1]]) |
| Elem10V1 | Elem10V1 (from [[Queries/DataSheetQ1]]) |
| Elem10V2 | Elem10V2 (from [[Queries/DataSheetQ1]]) |
| Text415 | Elem11A (from [[Queries/DataSheetQ1]]) |
## VBA Code
```vba
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 Shear"
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 attached to the `Form_Load` event of a Microsoft Access database form. It serves as a handler for the event that occurs when the form loads.
### Purpose
The primary purpose of this code is to ensure that the form is not loaded if it lacks a required input, specifically the `PartNumber`.
### Key Features
* **Error Handling**: The code uses `On Error GoTo die` to catch any errors that might occur during execution. This ensures that the program doesn't crash and provides an alternative path for handling errors.
* **Null Check**: It checks if the `PartNumber` field is null (`IsNull`) before proceeding with the rest of the code.
* **Exit Sub Statement**: If the `PartNumber` is null, the code exits the subroutine immediately using the `End` statement. This prevents further execution and ensures that the form does not load.
* **HelpMe Label**: The code uses a `DoCmd.SelectObject A_FORM, "DS Shear"` command to close an existing form named "DS Shear" before exiting. This suggests that there might be some other form-related functionality tied to this event handler.
### Step-by-Step Explanation
1. When the form loads, the `Form_Load` event is triggered.
2. The code checks for any errors using `On Error GoTo die`. If an error occurs, it redirects control to the `die` label.
3. It then verifies if the `PartNumber` field contains a null value (`IsNull Me![PartNumber]`). If it's null, the program exits using the `End` statement.
4. After checking for errors and handling the case where `PartNumber` is null, the code executes a `DoCmd.SelectObject A_FORM, "DS Shear"` command to close an existing form named "DS Shear".
5. If no errors occur or if the `PartNumber` field has a valid value, the program exits normally using the `Exit Sub` statement.
### Conclusion
This VBA code provides a robust and error-free way to handle the loading of a specific form in Microsoft Access. By integrating null checks, error handling, and exit statements, it ensures that the form loads successfully only if all required inputs are present.