Помогите разобраться. Есть форма в которой задается критерий для поиска аналогично фильтру "Содержит..". Почему RecordCount возвращает 1, хотя удовлетворяющих записей больше?
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Кнопка11_Click()
Dim stLinkCriteria3 As String
Dim sSQL As DAO.Recordset
'Проверяю пусто ли поле по которому собираюсь искать совпадения
If Me![Кадастр] <> "" Then
'Если нет - проверяю на наличие записей удовлетворяющих запросу
Set sSQL = CurrentDb.OpenRecordset("SELECT * " & _
"FROM tbl_Main " & _
"WHERE ((tbl_Main.Кадастр) Like '*" & Me![Кадастр] & "*')")
'Если таких записей нет - предупреждение
If sSQL.RecordCount = 0 Then
DoCmd.Beep
If MsgBox("Совпадений не найдено. Повторить?", vbQuestion + vbYesNo, "Ошибка открытия!") = vbYes Then
DoCmd.OpenForm "frm_Search"
Else
DoCmd.Close acForm, "frm_Search", acSaveNo
End If
Else
'Если только 1 совпадение - то в виде формы в одном представлении
If sSQL.RecordCount = 1 Then
stLinkCriteria3 = "кадастр like '*" & Me![Кадастр] & "*'"
DoCmd.OpenForm "frm_Main", acFormDS, , stLinkCriteria3
Else
'Ксли больше чем 1, то открываем в виде таблицы
If sSQL.RecordCount > 1 Then
stLinkCriteria3 = "кадастр like '*" & Me![Кадастр] & "*'"
DoCmd.OpenForm "frm_Main", acFormDS, , stLinkCriteria3
Else
End If
End If
End If
Else
DoCmd.Beep
If MsgBox("Пустое поле. Повторить запрос?", vbQuestion + vbYesNo, "Ошибка открытия!") = vbYes Then
DoCmd.OpenForm "frm_Search"
Else
DoCmd.Close acForm, "frm_Search", acSaveNo
End If
End If
'Показывает рекордКаунт запроса
If MsgBox(sSQL.RecordCount, vbOKOnly) = vbOK Then
Else
End If
End Sub