我有一个包含一个包含多个文本框的清单的表单,txtObs1,txtObs2,txtObs3等。每个文本框上的点击事件将弹出(实际上是隐藏的文本框可见)txtAddData。我可以在txtAddData中输入数据并使用afterupdate事件更新文本框但我想使用相同的txtAddData逐个更新表单上的其余文本框。
Private Sub txtAddData_AfterUpdate()
Me.txtObs1 = Me.txtAddData
Me.txtObs1.SetFocus
Me.txtAddData = ""
Me.txtAddData.Visible = False
End Sub
Private Sub txtObs1_Click()
txtAddData.Visible = True
txtAddData.SetFocus
If Not IsNull(Me.txtObs1) Then
Me.txtAddData = Me.txtObs1
Else
Me.txtAddData = ""
End If
End Sub
设置变量以保存文本框的名称:
Option Compare Database
Option Explicit
Private CurrentTextbox As String
Private Sub txtAddData_AfterUpdate()
Me.Controls(CurrentTextbox).Value = Me.txtAddData
Me.Controls(CurrentTextbox).SetFocus
Me.txtAddData = Null
Me.txtAddData.Visible = False
End Sub
Private Sub txtObs1_Click()
CurrentTextbox = "txtObs1"
SetData
End Sub
Private Sub txtObs2_Click()
CurrentTextbox = "txtObs2"
SetData
End Sub
Private Sub SetData
txtAddData.Visible = True
txtAddData.SetFocus
If Not IsNull(Me.Controls(CurrentTextbox).Value) Then
Me.txtAddData = Me.Controls(CurrentTextbox).Value
Else
Me.txtAddData = Null
End If
End Sub