【发布时间】:2021-11-15 03:49:25
【问题描述】:
我有一个带有子表单的简单表单。在主窗体中是一个供用户扫描 UPC 代码的字段。在记录集中找到 UPC,然后请求子表单以显示扫描的项目。子集中的最后一个命令将焦点重新集中到主窗体中的 UPC 字段以进行下一次扫描。除 setfocus 外,一切正常。尝试反编译& C/R 也全部导入新数据库。
Dim db As Database
Dim rstManifest As Recordset
Dim strUPC As String
Dim strLotNum As String
Dim strCriteria As String
Set db = CurrentDb
Set rstManifest = db.OpenRecordset("tblManifest", dbOpenDynaset)
strUPC = Me.UPCScan
strLotNum = Me.LotNum
strCriteria = "[UPC] = '" & strUPC & "' And [Scanned] = False"
With rstManifest
.MoveFirst
.FindFirst strCriteria
If rstManifest.NoMatch Then
MsgBox "UPC Item " & strUPC & " not found", vbOKOnly, "Try Again"
GoTo Cleanup
Else
.Edit
!LotNum = Me.LotNum
!DateItemAdded = Now()
!Scanned = True
.Update
Me!Manifest.Form.Requery
End If
End With
Cleanup:
If IsNull(Me.LotNum Or Me.LotNum = "") Then
Me.LotNum = strLotNum
End If
Me!UPCScan = Null
Me.UPCScan.SetFocus 'This line does not work
'DoCmd.GoToControl "UPCScan" 'Does not work either
rstManifest.Close
Set rstManifest = Nothing
Set db = Nothing
【问题讨论】: