SQL-запрос для формы поиска и обработка логических операторов |
автор |
---|
Ганов Александр (перенесено отсюда) как вариант использовать "+", который превратит отсутствующий параметр в "нулевую строку", в том случае если какой-то параметр запроса не был использован пользователем разобрался с "+". |
strSQL = "SELECT *" _ & "FROM [Работы] " _ & "WHERE " & "([Название] like '*" + [fldНазвание].Value + "*') AND " _ & "([ДатаЗапуска] >=" + IIf(IsNull([fldДатаЗапускаНачало].Value) = False, Format([fldДатаЗапускаНачало].Value, "General Number"), Null) & ") AND " _ & "([ДатаЗапуска] <=" + IIf(IsNull([fldДатаЗапускаКонец].Value) = False, Format([fldДатаЗапускаКонец].Value, "General Number"), Null) & ") AND " _ & "([ДатаСоздания] >=" + IIf(IsNull([fldДатаБазаНачало].Value) = False, Format([fldДатаБазаНачало].Value, "General Number"), Null) & ") AND " _ & "([ДатаСоздания] <=" + IIf(IsNull([fldДатаБазаКонец].Value) = False, Format([fldДатаБазаКонец].Value, "General Number"), Null) & ") AND"
'обрезаем AND в конце строки For i = 1 To 5 If Right(strSQL, 4) = " AND" Then strSQL = Left(strSQL, Len(strSQL) - 4) If Right(strSQL, 5) = " AND " Then strSQL = Left(strSQL, Len(strSQL) - 5) If Right(strSQL, 6) = " AND )" Then strSQL = Left(strSQL, Len(strSQL) - 6) Next i
https://www.sql.ru/forum/1308920/sql-zapros-dlya-formy-poiska-i-obrabotka-logicheskih-operatorov
Комментировать | « Пред. запись — К дневнику — След. запись » | Страницы: [1] [Новые] |