Таким образом, моя база данных довольно проста: список «ListItems», который содержит множество различных продуктов, в которых пользователь выбирает и вводит количество из того, сколько было сделано.Это прекрасно работает, однако, чтобы помочь пользователю с точки зрения эффективности, было добавлено окно поиска, чтобы пользователь не мог найти нужный продукт из 50 тысяч наименований.
Когда пользователь печатает, выбирается верхняя запись;
Private Sub txtSearchItems_Change()
ListItems.Requery
If Me.ListItems.ListCount > 0 Then
Me.ListItems.Selected(0) = True
End If
End Sub
Однако, если пользователь физически не щелкает выбранную строку в окне списка, при запуске следующего кода элемент будет добавлен в таблицу без элемента;
Dim RST As DAO.Recordset
Set RST = CurrentDb.OpenRecordset("select * from UptimeItems")
If IsNull(txtQuantityProd) Or txtQuantityProd = "" Then
MsgBox "Please enter a quantity produced.", vbExclamation
txtQuantityProd.SetFocus
End
End If
'\\Checkbox For If is Press
Check95.Value = False
If DLookup("[IsPress]", "Machines", "[MachineName] = Location") = -1 Then
If DLookup("[MoreThan1Blank]", "LintelInfo", "[No] = ListItems") = -1 Then
Check95.Value = True
End If
End If
'//
With RST
.AddNew
!RecordID = RecordID
!Product = ListItems
!Quantity = txtQuantityProd
!MoreThan1Blank = Check95
.Update
End With
RST.Close
Set RST = Nothing
Forms![UptimeAARecord]![UptimeItems].Requery
Call ClearFields
![enter image description here](https://i.stack.imgur.com/3WrZr.png)
. Как видно из верхней записи, пользователь не выбрал строку в списке, поэтому не было добавлено никаких данных, кроме количества, но с "Ящик 100 900 мм "сделал пользователь, таким образом, данные были добавлены.
Как я могу это исправить?