powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / DAO Recordset
5 сообщений из 30, страница 2 из 2
DAO Recordset
    #32497192
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЕсть таблица клиентов. Одно из полей - название. Пользователь вводит в поле название, жмет кнопочку - делается поиск соотв. записей.

Проблема в том, что пользователь может ошибится в буквах, ввести не совсем правильное название. Поэтому задача ставится - вывести все записи с названием фирм, набор букв в названии которых на 70% совпадает с набором букв, введенных в поле.
...
Рейтинг: 0 / 0
DAO Recordset
    #32497194
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 АлексейК
киньте, интересно

2 zz
спасибо, вроде пошло,
в чем могла быть проблема?
...
Рейтинг: 0 / 0
DAO Recordset
    #32497204
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2АлексейК:
упс, извини, не заметил этого поста :)

2Guest:
Функция, объявленная в модуле формы, видна только из этого модуля, хоть как ее объявляй. Поэтому твой запрос ее не находил.
...
Рейтинг: 0 / 0
DAO Recordset
    #32497212
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2АлексейК:
Если не трудно, кинь мне тоже, мыло в профиле.
...
Рейтинг: 0 / 0
DAO Recordset
    #32497234
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
Option Compare Database
Option Explicit

' Длл должна быть скопирована в      :\WINDOWS\system32\  '

Private Declare Function StrCompare Lib  "stringcompare.dll"  Alias _
    "similarity"  (ByVal i As Long, ByVal a As String, ByVal b As String) As Double


Private Sub simple1()
 


If Len(Nz(Me.findstr,  "")) < 3  Then
MsgBox "Для поиска небходимо ввести более  3  букв "
Exit Sub
End If


Dim rst As New ADODB.Recordset
rst.Open " client ", CurrentProject.Connection, adOpenKeyset, adLockPessimistic
Dim str


str = Left(Me.findstr, 50 )
str = Replace(str, " ОАО ", "  ", , , vbTextCompare)
str = Replace(str, "  OAO ", "  ", , , vbTextCompare)
str = Replace(str, "  ОАО ", "  ", , , vbTextCompare)

str = Replace(str, "  ООО ", "  ", , , vbTextCompare)
str = Replace(str, "  OOO ", "  ", , , vbTextCompare)

rst.PageSize = 10 
Me.PB.Max = rst.PageCount
'PB - Это прогресбар - не нужен отключи'
Me.PB.Visible = True


rst.MoveFirst
Do Until rst.EOF
    If Me.PB.value <> rst.AbsolutePage Then Me.PB.value = rst.AbsolutePage
    rst!simple = StrCompare( 50 , rst!name, str)
rst.MoveNext
Loop

Me.OrderBy = "simple DESC"

Me.PB.Visible = False
Me.OrderByOn = True
Me.Requery
rst.Close
Set rst = Nothing

End Sub


библиотека (25 кб) здесь
...
Рейтинг: 0 / 0
5 сообщений из 30, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / DAO Recordset
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]