Ms access VBA访问文本框无需单击即可填充

Ms access VBA访问文本框无需单击即可填充,ms-access,vba,Ms Access,Vba,我已经用下面的代码正确填充了我的文本框。唯一的问题是,我需要文本框自己填充,而不需要用户单击、输入或执行任何操作 Private Sub Text1106_Click() Dim Chip As Variant Chip = DLookup("ExtMaintChip", "TableDataPave", "[YrRated] = Forms![FormsFormattedPave]![YrRated] And [RdSecNo] = Forms![FormsFormattedPave]!

我已经用下面的代码正确填充了我的文本框。唯一的问题是,我需要文本框自己填充,而不需要用户单击、输入或执行任何操作

Private Sub Text1106_Click()

Dim Chip As Variant

 Chip = DLookup("ExtMaintChip", "TableDataPave", "[YrRated] = Forms![FormsFormattedPave]![YrRated] And [RdSecNo] = Forms![FormsFormattedPave]![TextRdSecNo]")

If Chip = 0 Then
    Me.Text1106 = 0
ElseIf Chip = 1 Then
    Me.Text1106 = "<10"
ElseIf Chip = 2 Then
    Me.Text1106 = "10-20"
ElseIf Chip = 3 Then
    Me.Text1106 = "20-50"
ElseIf Chip = 4 Then
    Me.Text1106 = "50-80"
ElseIf Chip = 5 Then
    Me.Text1106 = ">80"
End If

End Sub
Private子文本1106_单击()
作为变体的Dim芯片
Chip=DLookup(“ExtMaintChip”、“TableDataPave”、“[YRated]=Forms![FormsFormattedPave]![YRated]和[RdSecNo]=Forms![FormsFormattedPave]![TextRdSecNo]”)
如果Chip=0,则
Me.Text1106=0
ElseIf Chip=1,则
Me.Text1106=“80”
如果结束
端接头

这完全取决于您是希望仅在首次加载表单时填充该文本,还是每次加载新记录时填充该文本,在这种情况下,您希望使用form_current()事件

要仅在第一次运行代码,可以使用以下方法:

Private Sub Form_Load()
   Text1106_Click()
End Sub
Private Sub Form_Current()
   Text1106_Click()
End Sub
或者对每条记录运行它,如下所示:

Private Sub Form_Load()
   Text1106_Click()
End Sub
Private Sub Form_Current()
   Text1106_Click()
End Sub

考虑一下。每次新行成为当前记录时,它都会激发。不完全相关,但您可能会发现它很有用。