MS Access - Форма множественного поиска - PullRequest
0 голосов
/ 08 мая 2018

введите описание изображения здесь

Мне нужна ваша помощь в создании формы для нескольких полей поиска в MS Access. Моя форма содержит 10 полей, в которые пользователи могут вводить данные для получения результатов поиска в разделенной форме. Предполагаемый пользователь может ввести параметры поиска в одно или несколько полей для получения результатов (например, поставщик, состояние, номер лицензии, параметр даты для даты истечения срока действия лицензии, дата добавления и т. Д.). У меня сейчас проблемы с VB и я попал в кирпичную стену.

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

Если в каком-либо из полей поиска есть критерии поиска, я хочу, чтобы результаты отображали любой из критериев в полях поиска (например, поиск поставщика «Amazon» и поиск по штату «FL». Я хочу, чтобы результаты вернуть все записи в таблице для Amazon и записи с FL в качестве состояния, а не записи Amazon и FL, а любые записи в таблице, которые имеют Amazon или FL).

Ниже приведена кодировка VB, которую я имею:

Sub Search()

Dim tempCriteriaForReport As TempVar

Dim strSearch, strCriteria, strLicenseType, SearchDateRange As String

Dim strVendor, strState, strDrugManufacturer, strDeviceManufacturer, strFederalDrugIdentifier, strCommentsFKA, strLicenseNumber, strExpirationDate, strDateAdded As String

Dim task As String

Dim varItem As Variant


'''=========== code for VENDOR
If Not IsNull(Me.txtVENDOR) Then
    strVendor = "([Vendor] like ""*" & Me.txtVENDOR & "*"")"
    strCriteria = strCriteria & " And (" & strVendor & ")"
End If

'''=========== code for STATE
If Not IsNull(Me.txtSTATE) Then
    strState = "([State] like ""*" & Me.txtSTATE & "*"")"
    strCriteria = strCriteria & " And (" & strState & ")"
End If

'''=========== code for DRUG MANFACTURER
If Not IsNull(Me.txtDRUGMANUFACTURER) Then
    strDrugManufacturer = "([Is Vendor a Drug Manufacturer] like ""*" & Me.txtDRUGMANUFACTURER & "*"")"
    strCriteria = strCriteria & " And (" & strDrugManufacturer & ")"
End If

'''=========== code for DEVICE MANFACTURER
If Not IsNull(Me.txtDEVICEMANUFACTURER) Then
    strDeviceManufacturer = "([Is Vendor a Device Manufacturer] like ""*" & Me.txtDEVICEMANUFACTURER & "*"")"
    strCriteria = strCriteria & " And (" & strDeviceManufacturer & ")"
End If

'''=========== code for FEDERAL DRUG IDENTIFIER
If Not IsNull(Me.txtFEDERALDRUGIDENTIFIER) Then
    strFederalDrugIdentifier = "([Federal Drug Facility Establishment Identifier] like ""*" & Me.txtFEDERALDRUGIDENTIFIER & "*"")"
    strCriteria = strCriteria & " And (" & strFederalDrugIdentifier & ")"
End If

'''=========== code for LICENSE NUMBER
If Not IsNull(Me.txtLICENSENUMBER) Then
    strLicenseNumber = "([License Number] like ""*" & Me.txtLICENSENUMBER & "*"")"
    strCriteria = strCriteria & " And (" & strLicenseNumber & ")"
End If

'''=========== code for LICENSE TYPE
If Not IsNull(Me.txtLICENSETYPE) Then
    strLicenseNumber = "([License Type] like ""*" & Me.txtLICENSETYPE & "*"")"
    strCriteria = strCriteria & " And (" & strLicenseType & ")"
End If

'''=========== code for LICENSE EXPIRATION DATE range
If Not IsNull(Me.txtEXPIRATIONDATEFROM) And Not IsNull(Me.txtEXPIRATIONDATETO) Then
    SearchDateRange = "([Expiration Date] >= #" & Me.txtEXPIRATIONDATEFROM & "# and [Expiration Date] <= #" & Me.txtEXPIRATIONDATETO & "#)"
    strCriteria = strCriteria & " And (" & SearchDateRange & ")"
End If

'''=========== code for DATE ADDED range
If Not IsNull(Me.txtDATEADDEDFROM) And Not IsNull(Me.txtDATEADDEDTO) Then
    SearchDateRange = "([Date Added] >= #" & Me.txtDATEADDEDFROM & "# and [Date Added] <= #" & Me.txtDATEADDEDTO & "#)"
    strCriteria = strCriteria & " And (" & SearchDateRange & ")"
End If


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