Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Система поиска: MDB и ADP в чем разница?  [new]
Ukraina
Member

Откуда: Ярославль (...) - Туркменистан
Сообщений: 24344
Господа!
Раньше в МДБ использовал для поиска и перехода записи использовал такой код:

Private Sub Кнопка79_Click()
On Error GoTo Err_ Кнопка 79_Click
Dim rs As Object

Exit_E_Click:
x = InputBox("Введите искомый номер телефона...", "Поиск...")

If x = "" Then Exit Sub

    
    Set rs = Me.Recordset.Clone
    rs.FindFirst "[GDN] = " & x
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark


Exit_ Кнопка 79_Click:
    Exit Sub

Err_ Кнопка 79_Click:
    'MsgBox Err.Description
    'MsgBox Err.Number
    MsgBox "Введите корректный номер телефона!!!", vbCritical
    Resume Exit_E_Click
End Sub
Однако при переходе к АДП данный код не срабатывает и передает код ошибки Err_ Кнопка 79_Click, хотя код через поле со списком в АДП работает:

Private Sub ПолеСоСписком5_AfterUpdate()

    ' Поиск записи, соответствующей этому элементу управление
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.Find "[GDN] = " & Me![ПолеСоСписком5]
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub
GDN – тестовой (МДБ)
GDN – nvarchar (ADP)

Если заметить, то фактически код одинаковый. Перепробовал много вариантов синтаксиса, но не помогает… Посоветуйте…
4 сен 05, 17:38    [1844486]     Ответить | Цитировать Сообщить модератору
 Re: Система поиска: MDB и ADP в чем разница?  [new]
(c)VIG
Member

Откуда:
Сообщений: 1507
Да поменяй ты FindFirst на Find (или Seek, если поле индексированное) - и будет тебе счастье.Подробности в хелпе.
4 сен 05, 17:51    [1844496]     Ответить | Цитировать Сообщить модератору
 Re: Система поиска: MDB и ADP в чем разница?  [new]
igor603
Member

Откуда:
Сообщений: 105
Тоже сильно запаривался, спасибо Latuk
https://www.sql.ru/forum/actualthread.aspx?tid=211473

Сейчас работает вот такой код

If Me.OpenArgs <> "" Then
DoCmd.GoToRecord acDataForm, "POLYCLIN2", acLast
DoCmd.GoToRecord acDataForm, "POLYCLIN2", acFirst
Me.Recordset.Find "[NOMER_KART]=" & CLng(Me.OpenArgs)
End If


У тебя я бы так сделал

Dim rs As recordset

Set rs = Me.Recordset.Clone
rs.Find "[GDN] = '" & Me![ПолеСоСписком5] & "'"
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
4 сен 05, 21:44    [1844633]     Ответить | Цитировать Сообщить модератору
 Re: Система поиска: MDB и ADP в чем разница?  [new]
Ukraina
Member

Откуда: Ярославль (...) - Туркменистан
Сообщений: 24344
Спасибо! Все получилося!!! Там я уже новые вопросы задал
4 сен 05, 21:50    [1844637]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить