Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как переместить запись в форме на нужную? / 4 сообщений из 4, страница 1 из 1
06.02.2020, 14:18
    #39923429
drafty
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как переместить запись в форме на нужную?
Имеется форма источником записей которой является не запрос в виде инструкции SQL,а таблица (т.е. в свойствах формы ИсточникЗаписей-ИмяТаблицы)..Когда я открываю форму,у меня в VBA выполняется проверка по содержимому поля1 той записи,у которой максимальное значение поля2 (поле типа счетчик).Нужно,чтобы
-если поле1 непустое - форма открывалась и автоматом отображалась новая запись;
-если поле1 пустое - форма открывалась и автоматом отображалась запись где поле1 пустое;
В первом случае все срабатывает,а во втором форма открывается непонятно на какой записи,но не на последней это точно...
Вот код:

Set RST1=CurrentDb.OpenRecordset("Select Таблица1.* FROM Таблица1 Order By Таблица1.поле2 Desc")
RST1.MoveFirst
If Not (IsNull(RST1!поле1)) Then
DoCmd.GoToRecord , , acNewRec
Else
DoCmd.GoToRecord , , acLast 'наверное тут должен быть другой оператор
End If
........

В самой форме порядка сортировки нет...
Что не так?
...
Рейтинг: 0 / 0
06.02.2020, 14:46
    #39923449
drafty
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как переместить запись в форме на нужную?
drafty
Имеется форма источником записей которой является не запрос в виде инструкции SQL,а таблица (т.е. в свойствах формы ИсточникЗаписей-ИмяТаблицы)..Когда я открываю форму,у меня в VBA выполняется проверка по содержимому поля1 той записи,у которой максимальное значение поля2 (поле типа счетчик).Нужно,чтобы
-если поле1 непустое - форма открывалась и автоматом отображалась новая запись;
-если поле1 пустое - форма открывалась и автоматом отображалась запись где поле1 пустое;
В первом случае все срабатывает,а во втором форма открывается непонятно на какой записи,но не на последней это точно...
Вот код:

Set RST1=CurrentDb.OpenRecordset("Select Таблица1.* FROM Таблица1 Order By Таблица1.поле2 Desc")
RST1.MoveFirst
If Not (IsNull(RST1!поле1)) Then
DoCmd.GoToRecord , , acNewRec
Else
DoCmd.GoToRecord , , acLast 'наверное тут должен быть другой оператор
End If
........

В самой форме порядка сортировки нет...
Что не так?

Сделал в свойствах формы Порядок Сортировки - Order By [Таблица1].[поле1] Desc все-равно не работает так как хотелось бы
...
Рейтинг: 0 / 0
06.02.2020, 15:08
    #39923467
Как переместить запись в форме на нужную?
Попробуйте вместо
DoCmd.GoToRecord , , acLast 'наверное тут должен быть другой оператор
указать
Me.Recordset.FindFirst "[поле2]=" & RST1![поле2]
...
Рейтинг: 0 / 0
06.02.2020, 15:25
    #39923481
drafty
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как переместить запись в форме на нужную?
Кривцов Анатолий
Попробуйте вместо
DoCmd.GoToRecord , , acLast 'наверное тут должен быть другой оператор
указать
Me.Recordset.FindFirst "[поле2]=" & RST1![поле2]

Работает!Премного благодарен!!!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как переместить запись в форме на нужную? / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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