powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Переход по записям ADO
11 сообщений из 11, страница 1 из 1
Переход по записям ADO
    #39665698
tzarluk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дорого времени суток коллеги!
При переходе с DAO на ADO не могу настроить переход к нужной записи на разделённой форме после вставки новой строки в таблицу. Источник записей вьюшка на сервере, одним из источников которой является таблица в которую добавили запись.
Пытаюсь реализовать в следующем виде:
Код: vbnet
1.
2.
3.
4.
5.
6.
Forms!glform2.RecordSource = Forms!glform2.RecordSource
  Forms!glform2.Recordset.Requery
  Forms!glform2.OrderBy = "[№ п/п]"
  Forms!glform2.OrderByOn = True
  Forms!glform2.Recordset.MoveLast
  Forms!glform2.Recordset.Find "[ЛС_абонента] = '" & Me.ls_ab & "'", , adSearchBackward



Forms!glform2.Recordset.MoveLast перемещает курсор не на последнюю запись

Не могу понять в чём дело
...
Рейтинг: 0 / 0
Переход по записям ADO
    #39665704
tzarluk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробывал на кнопку повесить DoCmd.GoToRecord , , aсLast фокус смещается на одну запись выше каждый раз при нажатии
...
Рейтинг: 0 / 0
Переход по записям ADO
    #39665706
tzarluk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в DAO
Код: vbnet
1.
2.
Forms!glForm2.Requery
  Forms!glForm2.Recordset.FindLast "[ЛС_абонента] = '" & Me.ls_ab & "'"

работало идеально
...
Рейтинг: 0 / 0
Переход по записям ADO
    #39665717
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tzarlukс DAO на ADOнипонял, а где и как совершён этот переход?
Насколько я помню, разделённые формы только в новом формате базы, но новый формат базы никоим образом не поддерживает форматы проектов. В форматах проектов источник формы набор записей ADO, а источник данных разделённой формы набор DAO. Можно конечно и ADO засунуть в форму, но не таким образом
tzarluk
Код: vbnet
1.
Forms!glform2.RecordSource = Forms!glform2.RecordSource



Я где-то чего-то упустил?
...
Рейтинг: 0 / 0
Переход по записям ADO
    #39665754
Метод Find в ADO имеет еще один аргумент - включать текущую запись в поиск или нет. Вы не включаете.
tzarluk
Код: vbnet
1.
2.
Forms!glform2.RecordSource = Forms!glform2.RecordSource
Forms!glform2.Recordset.Requery

Каждая из этих строчек приводит к перезапросу, поэтому одна из них - лишняя.
...
Рейтинг: 0 / 0
Переход по записям ADO
    #39665791
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Особенности.
Формы в базах Access основаны на DAO. А вот в проектах, на ADO. Как-то можно узнать, на каком способе основана форма: DAO или ADO. Где-то тут на форуме было. Сейчас не вспомню.
Что-то у Вас не так. Что Вам вообще-то надо? Перейти на последнюю запись? Или найти определённую?
...
Рейтинг: 0 / 0
Переход по записям ADO
    #39665806
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел, как определить тип рекордсета
Код: sql
1.
2.
3.
4.
5.
If TypeOf rst Is DAO.Recordset Then
    MsgBox "DAO Recordset"
ElseIf TypeOf rst Is ADODB.Recordset Then
    MsgBox "ADO Recordset"
End If



Предлагаю посмотреть вот это Ленточная форма и закладки Тут есть о перемещении по записям и о добавлении и удалении записей в ленточной форме.
...
Рейтинг: 0 / 0
Переход по записям ADO
    #39667720
medium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Упорно продвигаю решение
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Public Sub MyGotoRecord(TmpForm As Form, FindCriteria As String)
Dim TmpBookmark As Variant
On Error Resume Next
On Error GoTo Err_Handler
TmpForm.Recordset.Filter = FindCriteria
Err.Clear
If TmpForm.Recordset.EOF Then
    TmpForm.Recordset.Filter = ""
    Exit Sub
End If
TmpBookmark = TmpForm.Recordset.Bookmark
TmpForm.Recordset.Filter = ""  
TmpForm.Recordset.Move 0, TmpBookmark
Exit_Handler:
    Exit Sub
Err_Handler:
    MsgBox "MyGotoRecord:" & Err.Description
    Resume Exit_Handler
End Sub



А вызов такой:
Код: vbnet
1.
Call MyGotoRecord(Me, "ID=" & NewId)




Если не в тему, или криво, прошу извинить.
...
Рейтинг: 0 / 0
Переход по записям ADO
    #39667723
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
medium, как утверждают авторитетные источники (Гетц и Со) применение фильтров к набору ADO не продуктивно и эффективней переоткрыть набор с фильтрацией в запросе.
...
Рейтинг: 0 / 0
Переход по записям ADO
    #39667726
medium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это достаточно часто встречающийся ход обсуждения: участник спрашивает - как перейти к записи. Ему отвечают: переходить к записи не надо, а надо отфильтровать и получить новый набор....
Я не берусь судить: что нужно инициатору, а даю по мере разумения предложения по решению первоначального вопроса.
...
Рейтинг: 0 / 0
Переход по записям ADO
    #39667727
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
medium, гм... первый раз слышу.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Переход по записям ADO
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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