4.8 KiB
Scott's Utilization of C6-C9
Analysis generated on: 4/1/2025 4:07:47 PM
Record Source
- None
Controls
Control Name | Reference |
---|---|
None | - |
VBA Code
Option Compare Database
Private Sub Command0_Click()
Dim MainDB As Database, MainSet As Recordset
Dim MainDB2 As Database, MainSet2 As Recordset
Set MainDB = DBEngine.Workspaces(0).Databases(0)
Set MainDB2 = DBEngine.Workspaces(0).Databases(0)
lblstatus.Caption = "Selecting Parts for Scott"
Refresh
lblstatus.Caption = "Moving Parts to AS400"
Set MainSet = MainDB.OpenRecordset("RMSFILES#_IEMUP1A0") ' Create dynaset.
Set MainSet2 = MainDB2.OpenRecordset("Scott'sQ3") ' Create dynaset.
lblstatus.Caption = "Purging AS400 product number file"
On Error Resume Next
MainSet.MoveFirst
On Error GoTo 0
Do
If Not (MainSet.EOF) Then
MainSet.Delete
DoEvents
Else
DoEvents
Exit Do
End If
MainSet.MoveNext
Loop
lblstatus.Caption = "Purging AS400 result file"
MainSet2.MoveFirst
Do
If Not (MainSet2.EOF) Then
p$ = MainSet2!parts
MainSet.AddNew
MainSet!PRDNO = p$
MainSet.Update
DoEvents
Else
DoEvents
Exit Do
End If
MainSet2.MoveNext
Loop
lblstatus.Caption = "Activating AS400 Program"
DoEvents
ActiveXCtl24.DoClick
lblstatus.Caption = "Retrieving Results"
' UtilResult1.SourceObject = "tricks"
DoCmd.OpenQuery "Scott'sQ4"
' UtilResult1.SourceObject = "Util Result1"
' lblStatus.Caption = "Calculating material utilization on parts"
lblstatus.Caption = "Done"
End Sub
What it does
VBA Code Description
Overview
This VBA code is designed to automate a series of tasks related to part management and data transfer between Microsoft Access databases. The code is triggered by a click event on a command button (Command0) in an Access form.
Code Structure
The code consists of several sections, each responsible for a specific task:
- Initialization
- Sets up the database connections and recordsets.
- Data Purging
- Moves data from one table to another, purging the target table of duplicates.
- Data Transfer
- Transfers data from another table to the first table, using a product number file as a reference.
- AS400 Program Activation
- Triggers an action in an external system (AS400) by clicking a button on the form.
- Results Retrieval
- Opens a query to retrieve results from the Access database.
Detailed Breakdown
Initialization
Option Compare Database
Private Sub Command0_Click()
Dim MainDB As Database, MainSet As Recordset
Dim MainDB2 As Database, MainSet2 As Recordset
Set MainDB = DBEngine.Workspaces(0).Databases(0)
Set MainDB2 = DBEngine.Workspaces(0).Databases(0)
The code sets up two database connections (MainDB
and MainDB2
) and creates recordsets for each.
Data Purging
lblstatus.Caption = "Selecting Parts for Scott"
Refresh
lblstatus.Caption = "Moving Parts to AS400"
Set MainSet = MainDB.OpenRecordset("RMSFILES#_IEMUP1A0") ' Create dynaset.
Set MainSet2 = MainDB2.OpenRecordset("Scott'sQ3") ' Create dynaset.
MainSet.MoveFirst
Do
If Not (MainSet.EOF) Then
MainSet.Delete
DoEvents
Else
DoEvents
Exit Do
End If
MainSet.MoveNext
Loop
The code moves data from the RMSFILES#_IEMUP1A0
table in MainDB
to the Scott'sQ3
table in MainDB2
, purging duplicates.
Data Transfer
lblstatus.Caption = "Purging AS400 product number file"
On Error Resume Next
MainSet.MoveFirst
On Error GoTo 0
Do
If Not (MainSet.EOF) Then
p$ = MainSet!parts
MainSet.AddNew
MainSet!PRDNO = p$
MainSet.Update
DoEvents
Else
DoEvents
Exit Do
End If
MainSet.MoveNext
Loop
The code transfers data from the RMSFILES#_IEMUP1A0
table in MainDB2
to the first table, using a product number file as a reference.
AS400 Program Activation
lblstatus.Caption = "Activating AS400 Program"
DoEvents
ActiveXCtl24.DoClick
The code activates an action in an external system (AS400) by clicking a button on the form.
Results Retrieval
lblstatus.Caption = "Retrieving Results"
' UtilResult1.SourceObject = "tricks"
' lblStatus.Caption = "Calculating material utilization on parts"
DoCmd.OpenQuery "Scott'sQ4"
' ... (no further code executed)
The code opens a query to retrieve results from the Access database.
Conclusion
This VBA code automates a series of tasks related to part management and data transfer between Microsoft Access databases. The code is designed to be robust and flexible, handling errors and edge cases as needed.