197 lines
6.1 KiB
Markdown
197 lines
6.1 KiB
Markdown
# Material Selection Screen
|
|
Analysis generated on: 4/1/2025 4:04:59 PM
|
|
---
|
|
## Record Source
|
|
- *None*
|
|
## Controls
|
|
| Control Name | Reference |
|
|
|--------------|-----------|
|
|
| Material (Row Source) | [[Tables/[metalQ1];]] |
|
|
| CutTypes (Row Source) | |
|
|
## VBA Code
|
|
```vba
|
|
Option Compare Database 'Use database order for string comparisons
|
|
|
|
Private Sub Button2_Click()
|
|
Call ckPrimaryScreen
|
|
ErrM.Caption = ""
|
|
A = SelectBy
|
|
b = SelWarehouse
|
|
Select Case b
|
|
Case 1
|
|
Sw$ = ""
|
|
sw2$ = ""
|
|
Case 2
|
|
Sw$ = " and Warehouse='90'"
|
|
sw2$ = "Warehouse='90'"
|
|
Case 3
|
|
Sw$ = " and Warehouse='02'"
|
|
sw2$ = "Warehouse='02'"
|
|
Case Else
|
|
End Select
|
|
Select Case A
|
|
Case 1
|
|
Mater$ = itsaNull$(Material)
|
|
If Mater$ <> "" Then
|
|
DoCmd.OpenForm PrimaryScreen$, , , "MetalType='" + Mater$ + "'" + Sw$
|
|
Else
|
|
ErrM.Caption = "Invalid Material Selected"
|
|
End If
|
|
Case 2
|
|
Mater$ = itsaNull$(Programmer)
|
|
If Mater$ <> "" Then
|
|
DoCmd.OpenForm PrimaryScreen$, , , "Programmer='" + Mater$ + "'" + Sw$
|
|
Else
|
|
ErrM.Caption = "Invalid Programmer Selected"
|
|
End If
|
|
Case 3
|
|
Mater$ = itsaNull$(CutTypes)
|
|
If Mater$ <> "" Then
|
|
DoCmd.OpenForm PrimaryScreen$, , , "CutType='" + Mater$ + "'" + Sw$
|
|
Else
|
|
ErrM.Caption = "Invalid Cut Type Selected"
|
|
End If
|
|
Case 4
|
|
DoCmd.OpenForm PrimaryScreen$, , , sw2$
|
|
Case Else
|
|
End Select
|
|
|
|
End Sub
|
|
|
|
Private Sub Button6_Click()
|
|
ErrM.Caption = ""
|
|
A = SelectBy
|
|
Select Case A
|
|
Case 1
|
|
Mater$ = itsaNull$(Material)
|
|
If Mater$ <> "" Then
|
|
DoCmd.OpenReport "RSelectMaterial", A_PREVIEW, , "MetalType=" + Chr$(34) + Mater$ + Chr$(34)
|
|
Else
|
|
ErrM.Caption = "Invalid Material Selected"
|
|
End If
|
|
Case 2
|
|
Mater$ = itsaNull$(Programmer)
|
|
If Mater$ <> "" Then
|
|
DoCmd.OpenReport "RSelectMaterial", A_PREVIEW, , "Programmer=" + Chr$(34) + Mater$ + Chr$(34)
|
|
Else
|
|
ErrM.Caption = "Invalid Programmer Selected"
|
|
End If
|
|
Case 3
|
|
Mater$ = itsaNull$(CutTypes)
|
|
If Mater$ <> "" Then
|
|
DoCmd.OpenReport "RSelectMaterial", A_PREVIEW, , "Cuttype=" + Chr$(34) + Mater$ + Chr$(34)
|
|
Else
|
|
ErrM.Caption = "Invalid Cut Type Selected"
|
|
End If
|
|
Case 4
|
|
DoCmd.OpenReport "RSelectMaterial", A_PREVIEW
|
|
Case Else
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub Button9_Click()
|
|
ErrM.Caption = ""
|
|
A = SelectBy
|
|
Select Case A
|
|
Case 1
|
|
Mater$ = itsaNull$(Material)
|
|
If Mater$ <> "" Then
|
|
Call ckPrimaryScreen
|
|
DoCmd.OpenForm PrimaryScreen$, A_FORMDS, , "MetalType=" + Chr$(34) + Mater$ + Chr$(34)
|
|
Else
|
|
ErrM.Caption = "Invalid Material Selected"
|
|
End If
|
|
Case 2
|
|
Mater$ = itsaNull$(Programmer)
|
|
If Mater$ <> "" Then
|
|
Call ckPrimaryScreen
|
|
DoCmd.OpenForm PrimaryScreen$, A_FORMDS, , "Programmer=" + Chr$(34) + Mater$ + Chr$(34)
|
|
Else
|
|
ErrM.Caption = "Invalid Programmer Selected"
|
|
End If
|
|
Case 3
|
|
Mater$ = itsaNull$(CutTypes)
|
|
If Mater$ <> "" Then
|
|
Call ckPrimaryScreen
|
|
DoCmd.OpenForm PrimaryScreen$, A_FORMDS, , "Cuttype=" + Chr$(34) + Mater$ + Chr$(34)
|
|
Else
|
|
ErrM.Caption = "Invalid Cut Type Selected"
|
|
End If
|
|
Case 4
|
|
Call ckPrimaryScreen
|
|
DoCmd.OpenForm PrimaryScreen$, A_FORMDS
|
|
Case Else
|
|
End Select
|
|
|
|
End Sub
|
|
|
|
Private Sub Command51_Click()
|
|
Dim ProcDB As Database, ProcSet As Recordset
|
|
Set ProcDB = DBEngine.Workspaces(0).Databases(0)
|
|
Set ProcSet = ProcDB.OpenRecordset("Universal", DB_OPEN_DYNASET) ' Create dynaset.
|
|
|
|
End Sub
|
|
|
|
Private Sub CutTypes_GotFocus()
|
|
SelectBy = 3
|
|
|
|
End Sub
|
|
|
|
Private Sub Form_Load()
|
|
SelectBy = 1
|
|
End Sub
|
|
|
|
Private Sub Material_GotFocus()
|
|
SelectBy = 1
|
|
|
|
End Sub
|
|
|
|
Private Sub Programmer_GotFocus()
|
|
SelectBy = 2
|
|
|
|
End Sub
|
|
|
|
```
|
|
## What it does
|
|
**Form Toggles and Report Openers**
|
|
=====================================
|
|
|
|
### Overview
|
|
|
|
This VBA code is used to toggle between different forms in an Access application, as well as open reports. The form toggles are controlled by buttons with unique IDs (Button2, Button6, Button9), while the report opener is controlled by a command button (Command51).
|
|
|
|
### Form Toggles
|
|
|
|
The following subroutines control the form toggles:
|
|
|
|
* `Button2_Click()`: Opens a form (`PrimaryScreen`) based on the selected materials (Material or Programmer). The material type and warehouse are used to filter the results.
|
|
* If no material is selected, an error message is displayed.
|
|
* Otherwise, the form is opened with the specified parameters.
|
|
* `Button6_Click()`: Opens a report (`RSelectMaterial`) based on the selected materials (Material or Programmer).
|
|
* The report is opened in preview mode and filtered by the selected material type.
|
|
* If no material is selected, an error message is displayed.
|
|
* `Button9_Click()`: Opens a form (`PrimaryScreen`) based on the selected materials (Material or Programmer). This subroutine is similar to Button2_Click but uses a different parameter set.
|
|
|
|
### Report Opener
|
|
|
|
The following subroutine opens a report:
|
|
|
|
* `Command51_Click()`: Opens a report (`RSelectMaterial`) in preview mode. The report is filtered by the universal dataset.
|
|
|
|
### Focus Events
|
|
|
|
The following focus events are used to change the form toggle settings:
|
|
|
|
* `CutTypes_GotFocus()`: Sets the form toggle to 3 when the CutTypes control gains focus.
|
|
* `Form_Load()` and `Material_GotFocus()`: Set the initial form toggle to 1 (for PrimaryScreen) when the application loads or the Material control gains focus.
|
|
|
|
### Database Comparison
|
|
|
|
The following line sets the database comparison order for string comparisons:
|
|
|
|
```vb
|
|
Option Compare Database 'Use database order for string comparisons
|
|
```
|
|
|
|
This option ensures that string comparisons are performed in a case-sensitive manner, as specified by the `Database` comparison type.
|