90 lines
3.8 KiB
Markdown
90 lines
3.8 KiB
Markdown
# DS Laser
|
|
---
|
|
## Record Source
|
|
- [[Queries/DataSheetQ1]]
|
|
## Controls
|
|
| Control Name | Reference |
|
|
|--------------|-----------|
|
|
| PartNumber | PartNumber (from [[Queries/DataSheetQ1]]) |
|
|
| Operation | Operation (from [[Queries/DataSheetQ1]]) |
|
|
| Elem1A | Elem1A (from [[Queries/DataSheetQ1]]) |
|
|
| Elem2A | Elem2A (from [[Queries/DataSheetQ1]]) |
|
|
| Elem3A | Elem3A (from [[Queries/DataSheetQ1]]) |
|
|
| Elem3V1 | Elem3V1 (from [[Queries/DataSheetQ1]]) |
|
|
| Elem3V2 | Elem3V2 (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]]) |
|
|
## 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 Laser"
|
|
DoCmd.Close
|
|
Exit Sub
|
|
die:
|
|
Resume HelpMe
|
|
End Sub
|
|
|
|
```
|
|
## What it does
|
|
**Code Description**
|
|
=====================
|
|
|
|
### VBA Code Overview
|
|
|
|
This VBA code is written in an Access database and appears to be a form load event handler. It contains two primary sections: error handling and the main logic.
|
|
|
|
### Error Handling Section
|
|
|
|
```markdown
|
|
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
|
|
```
|
|
|
|
This section defines an error handling mechanism using the `On Error` statement, which redirects control to the labeled block of code (`die`) when an error occurs.
|
|
|
|
* The first line, `Option Compare Database`, specifies that string comparisons in this module should be performed in database order.
|
|
* The `Private Sub Form_Load()` statement defines the event handler for the form load event. This event is triggered when the form is loaded into memory after it has been opened from a database.
|
|
* Inside the event handler, there's an error handling mechanism using `On Error GoTo die`. If any errors occur during the execution of this code, control will be transferred to the block labeled `die`.
|
|
* The subsequent line checks if the `PartNumber` field on the form is null (`IsNull(Me![PartNumber])`). If it is null, the code attempts to exit the subroutine using the `End` statement.
|
|
|
|
### Main Logic Section
|
|
|
|
```markdown
|
|
HelpMe:
|
|
DoCmd.SelectObject A_FORM, "DS Laser"
|
|
DoCmd.Close
|
|
Exit Sub
|
|
die:
|
|
Resume HelpMe
|
|
```
|
|
|
|
This section contains the main logic of the event handler:
|
|
|
|
* The block labeled `HelpMe` contains two statements that interact with other forms in the database.
|
|
* `DoCmd.SelectObject A_FORM, "DS Laser"` selects an object (in this case, a form named "DS Laser") using the `DoCmd.SelectObject` method. The parameter `A_FORM` is likely a constant or variable representing the current form's ID.
|
|
* `DoCmd.Close` closes the selected form using the `DoCmd.Close` method.
|
|
* The block labeled `die:` contains two statements that catch and handle errors when they occur:
|
|
* `Resume HelpMe`: This statement transfers control back to the `HelpMe` block of code if an error occurs. This allows the code to recover from errors by re-executing the code in this section.
|
|
|
|
### Conclusion
|
|
|
|
In summary, this VBA code handles form load events in an Access database. It checks for a null `PartNumber` field on the current form and attempts to close another form named "DS Laser" if necessary. The code includes robust error handling using the `On Error GoTo die` statement to ensure that it can recover from errors and resume execution as intended.
|