111 lines
4.7 KiB
Markdown
111 lines
4.7 KiB
Markdown
# DS Paper Peel
|
|
---
|
|
## Record Source
|
|
- [[Queries/DataSheetQ1]]
|
|
## Controls
|
|
| Control Name | Reference |
|
|
|--------------|-----------|
|
|
| PartNumber | PartNumber (from [[Queries/DataSheetQ1]]) |
|
|
| Operation | Operation (from [[Queries/DataSheetQ1]]) |
|
|
| Elem1A | Elem1A (from [[Queries/DataSheetQ1]]) |
|
|
| Elem3A | Elem3A (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]]) |
|
|
| Elem4A | Elem4A (from [[Queries/DataSheetQ1]]) |
|
|
| Elem5A | Elem5A (from [[Queries/DataSheetQ1]]) |
|
|
| Field97 | Elem1V1 (from [[Queries/DataSheetQ1]]) |
|
|
| Field105 | Elem3V1 (from [[Queries/DataSheetQ1]]) |
|
|
| Field140 | Elem6A (from [[Queries/DataSheetQ1]]) |
|
|
| Field144 | Elem7A (from [[Queries/DataSheetQ1]]) |
|
|
| Field235 | Elem4V1 (from [[Queries/DataSheetQ1]]) |
|
|
| Field271 | Elem8A (from [[Queries/DataSheetQ1]]) |
|
|
| Field272 | Elem9A (from [[Queries/DataSheetQ1]]) |
|
|
| Field273 | Elem5V1 (from [[Queries/DataSheetQ1]]) |
|
|
| Field274 | Elem6V1 (from [[Queries/DataSheetQ1]]) |
|
|
| Field275 | Elem7V1 (from [[Queries/DataSheetQ1]]) |
|
|
| Field276 | Elem8V1 (from [[Queries/DataSheetQ1]]) |
|
|
| Field277 | Elem9V1 (from [[Queries/DataSheetQ1]]) |
|
|
| Field280 | Elem1V2 (from [[Queries/DataSheetQ1]]) |
|
|
| Field281 | Elem2V1 (from [[Queries/DataSheetQ1]]) |
|
|
| Field283 | Elem2V2 (from [[Queries/DataSheetQ1]]) |
|
|
| Field284 | Elem2A (from [[Queries/DataSheetQ1]]) |
|
|
| Field288 | Elem5V2 (from [[Queries/DataSheetQ1]]) |
|
|
| Field289 | Elem6V2 (from [[Queries/DataSheetQ1]]) |
|
|
| Field306 | Elem10A (from [[Queries/DataSheetQ1]]) |
|
|
| Field307 | Elem10V1 (from [[Queries/DataSheetQ1]]) |
|
|
| Field308 | Elem7V2 (from [[Queries/DataSheetQ1]]) |
|
|
| Field309 | Elem8V2 (from [[Queries/DataSheetQ1]]) |
|
|
| Field310 | Elem9V2 (from [[Queries/DataSheetQ1]]) |
|
|
| Field311 | Elem10V2 (from [[Queries/DataSheetQ1]]) |
|
|
| Field316 | Elem11V1 (from [[Queries/DataSheetQ1]]) |
|
|
| Field317 | 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 CNC"
|
|
DoCmd.Close
|
|
Exit Sub
|
|
die:
|
|
Resume HelpMe
|
|
|
|
End Sub
|
|
|
|
```
|
|
## What it does
|
|
**VBA Code Description**
|
|
========================
|
|
|
|
### Overview
|
|
|
|
This VBA code is written in Access and is attached to a form load event. It checks if the `PartNumber` field of the form is null, and if so, it exits the subroutine.
|
|
|
|
### Breakdown
|
|
|
|
#### Line 1: `Option Compare Database`
|
|
|
|
* This line specifies that string comparisons within this subroutine should be performed according to the database's collation order.
|
|
|
|
#### Line 5-6: `Private Sub Form_Load()`
|
|
|
|
* This line begins the definition of a private subroutine named `Form_Load`, which is attached to the form load event.
|
|
* The `On Error GoTo die` statement sets up an error handling mechanism, where if an error occurs within this subroutine, control will be transferred to the `die:` label.
|
|
|
|
#### Line 7: `If IsNull(Me![PartNumber]) Then`
|
|
|
|
* This line checks if the value in the `PartNumber` field of the form (`Me!`) is null.
|
|
* The `IsNull()` function returns `True` if the specified object is null, and `False` otherwise.
|
|
|
|
#### Line 8-10: `End If Exit Sub HelpMe:`
|
|
|
|
* If the `PartNumber` field is null, this line exits the subroutine immediately using the `Exit Sub` statement.
|
|
* However, due to a syntax error, the second part of the `If` statement (`HelpMe`) is not properly defined and will be skipped.
|
|
|
|
#### Line 11-12: `DoCmd.SelectObject A_FORM, "DS CNC"` and `DoCmd.Close`
|
|
|
|
* This line uses the `DoCmd` object to select an object (in this case, a form named "DS CNC") from the current database.
|
|
* The `SelectObject()` method is used to create a new recordset that contains the selected object.
|
|
* The second parameter `"DS CNC"` specifies the name of the form to be selected.
|
|
|
|
#### Line 13: `Exit Sub`
|
|
|
|
* This line exits the subroutine, effectively ending its execution.
|
|
|
|
#### Line 14-15: `die:`
|
|
|
|
* This label is the target for error handling, and will be executed if an error occurs within the subroutine.
|
|
* The `Resume HelpMe` statement transfers control back to the first line of the code after skipping the null check (`End If`) due to a syntax error.
|
|
|
|
**Note:** There is a syntax error in the code. The correct syntax would be `Exit Sub HelpMe:` instead of `End If Exit Sub HelpMe:`. However, even with this correction, the second part of the `If` statement will still not work as intended.
|