Использование текстовых полей для поиска записей по ключевому слову (существует несколько текстовых полей для отдельных объектов) и реализация поля со списком - PullRequest
0 голосов
/ 01 апреля 2019

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

Обратите внимание: ТамЕсть несколько текстовых полей для этого, чтобы отделить конкретную информацию, так что мне нужно, чтобы это работало для каждого отдельного текстового поля.Существует одно текстовое поле для поиска записей на основе даты (месяц / день / год), и у меня возникли проблемы с тем, что не отображаются определенные диапазоны дат.

Я также надеюсь добавить в комбоа также.

Я пробовал код, который мне дал другой человек, но проблема, с которой я столкнулся с обычными текстовыми полями, заключается в том, что мне нужно вставить все, что есть в записи, а непоиск по ключевому слову, для которого ничего не появляется, когда были введены другие критерии (я знаю, что есть запись, которая подходит, но по какой-то причине, когда я добавляю элемент textbox, она не работает, если я не введу точныйзапись, которая находится в текстовом поле, из которого я ищу конкретную информацию).

Я пытался найти информацию для комбинированных окон, но я не нашел ничего, что действительно работает с тем, что я хочу сделать.

Function SelectedItems(objBox As ListBox) As String
    Dim strRtn As String, varItm
    For Each varItm In objBox.ItemsSelected
        strRtn = strRtn & ",'" & objBox.ItemData(varItm) & "'"
    Next varItm
    If strRtn <> vbNullString Then SelectedItems = Mid(strRtn, 2)
End Function
Private Sub Command62_Click()
    Dim strSQL As String
    Dim strArr As String
    Dim varItm

    For Each varItm In Array("District", "Circumstance", "Location", "Method", "Point", "Rank", "Description", "Missing", "IDNumber", "Dateto", "Datefrom", "Address")
        strArr = vbNullString
        Select Case Me.Controls(varItm).ControlType
            Case acListBox
                strArr = SelectedItems(Me.Controls(varItm))
            Case acTextBox
                If Not IsNull(Me.Controls(varItm).Value) Then
                    strArr = "'" & Me.Controls(varItm).Value & "'"
                End If
        End Select
        If strArr <> vbNullString Then
            strSQL = strSQL & "t." & varItm & " in (" & strArr & ") and "
        End If
    Next varItm
    If strSQL <> vbNullString Then strSQL = "where " & Left(strSQL, Len(strSQL) - 5)

    With CurrentDb.QueryDefs("qryMultiselect")
        .SQL = "select * from tblDataEntry t " & strSQL
    End With
    DoCmd.OpenQuery "qryMultiselect"
End Sub

Я хочу, чтобы у меня была возможность использовать списки со множественным выбором в сочетании с моими текстовыми полями.Это мое поле со списком, которое у меня есть.Используя все это или, по крайней мере, их комбинацию, я хочу иметь возможность сортировать свои данные, чтобы иметь возможность создавать отчеты на основе того, что искали.Вместе с тем, чтобы убедиться, что у пользователя есть свобода от необходимости вводить информацию для всех полей и только те, которые, по его мнению, должны вводиться в информацию.

С текстовыми полями: я хочу иметь возможностьвыполнять поиск по ключевым словам, соответствующим определенному разделу данных, которые я ищу, и иметь возможность оставить других пустыми и иметь возможность получать результаты.

То же самое относится к дате / временитекстовые поля и мое поле со списком.

...