|
|
|
| Контексный поиск у меня: User вводит символы. Ищутся такие же символы, чтобы они стояли на первом месте по записям из таблицы и выводятся совпадающие записи в ту же таблицу.
У меня контексный поиск работает без сортировки. Вот код:
With Form1.Form ' форма-таблица
s = Me.input_search.Text ' получили значение для поиска
strWHERE = " WHERE Left([street]," & Len(s) & ") = '" & s & "' ' определяем контексный поиск
.RecordSource = "SELECT main.dom, street.street FROM main,street" & strWHERE
.Requery
End With
Хочу сделать сортировку по street и dom, т.е. Контексный поиск с отбором и сортировкой. Так вот, когда меняю 6-юю строку на след-юю(добавляю к концу ORDER BY), то оно сильно глючит:
.RecordSource = "SELECT main.dom, street.street FROM main,street" & strWHERE & " ORDER BY street.street,main.dom"
Мне причина не ясна. Подскажите, кто сообразил.
P.S. использую предложение SELECT без INNER JOIN - и так работает. | |
|
| |
|
|
|
| Вот правильный вариант - это все безграничный SQL(нужны скобки в предложении WHERE и INNER JOIN лучше поставить!)
With FormF1.Form
If Len(s) <> 0 Then
strWHERE = " WHERE (Left([dom]," & Len(s) & ") = '" & s & "') ORDER BY street.street, main.dom;"
Else
strWHERE = ";"
End If
.RecordSource = "SELECT main.id, street.street, main.dom FROM street INNER JOIN main ON street.id=main.street_id" & strWHERE
.Requery
End With | |
|
| |