我有一个数字决策矩阵用户表单 (frmMatrix),用户可以在其中输入“热度指数”和“感兴趣人群”,然后返回一份建议保护措施的声明。
他们被询问是否愿意在我的自动日志用户表单(frmForm)中记录这些保护措施。
单击“是”后,我希望我的自动日志用户表单显示“热度指数”和“感兴趣人群”字段以及在 frmMatrix 中输入的值。
加载到“热度指数”和“感兴趣人群”字段中的自动日志表单值是两个条目之前输入的值。
例如,用户连续输入 frmMatrix:
#1: "83" and "Athletes"
#2: "85" and "Children"
#3: "87" and "Outdoor Workers"
输入#2并选择“是”后,自动日志表单将打开,“热度指数”和“感兴趣人群”字段中的值为“83”和“运动员”(示例#1中给出的响应) .
输入#3 并选择“是”后,自动日志表单将打开,其中包含值“85”和“儿童”(示例#2 中给出的响应)。
Option Explicit
Public index As Integer
Public category As String
Public population As String
Private Sub cmdGo_Click()
If ValidateMatrixEntries() = True Then
index = frmMatrix.txtIndex.Object.Value
population = frmMatrix.cmbPopulation.Object.Value
'--------------------------------------------------------------------------------------------
'Heat Stress Category 1
If index < 80 Then
category = "Category 1"
'(nonrelevant code follows for outputting protective measures)
'--------------------------------------------------------------------------------------------
Dim AnswerYes As String
Dim AnswerNo As String
AnswerYes = MsgBox("Would you like to record these actions in the log?", vbQuestion + vbYesNo, "Record Entry")
If AnswerYes = vbYes Then
Call Preset_Form
Unload frmMatrix
Else
Unload frmMatrix
End If
End If
End Sub
Public Sub Preset_Form()
frmForm.Show
frmForm.txtIndex.Value = index
frmForm.cmbPopulation.Value = population
frmForm.cmbAction.Value = category
End Sub
数字决策矩阵:
数字决策矩阵(frmMatrix)
自动日志:
自动记录(frmForm)
您需要更改
Preset_Form
逻辑以在作业后显示表单:
Public Sub Preset_Form()
frmForm.txtIndex.Value = index
frmForm.cmbPopulation.Value = population
frmForm.cmbAction.Value = category
frmForm.Show
End Sub
原因是
Show
直到表单关闭后才会返回,因此值不会很快被分配。 在情感上,你总是落后一员。