107 lines
5.2 KiB
Markdown
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.
|