Доступ: список выбора добавить в таблицу - PullRequest
0 голосов
/ 22 января 2019

Таким образом, моя база данных довольно проста: список «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

. Как видно из верхней записи, пользователь не выбрал строку в списке, поэтому не было добавлено никаких данных, кроме количества, но с "Ящик 100 900 мм "сделал пользователь, таким образом, данные были добавлены.

Как я могу это исправить?

1 Ответ

0 голосов
/ 22 января 2019

Если для свойства списка для выбора нескольких элементов установлено значение Нет , вы можете выбрать элемент, установив вместо него значение:

Private Sub txtSearchItems_Change()
    ListItems.Requery
    With Me.ListItems
        If .ListCount > 0 Then
            .Value = .Column(.BoundColumn, 0)
        End If
    End With
End Sub

Это гарантирует, что свойство value будет иметь действительное значение при использовании его в дальнейшем коде.

Если вы разрешаете множественный выбор, ваш код для добавления записей, вероятно, требует дальнейшей корректировки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...