Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
GafarovIS
21 / 20 / 0
Регистрация: 10.10.2014
Сообщений: 769
1

VBA для перехода на конкретную запись в подчинённой форме

08.01.2017, 02:01. Просмотров 1458. Ответов 8
Метки нет (Все метки)

Здравствуйте!
Подскажите пожалуйста код для перехода на конкретную запись в подчинённой форме.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2017, 02:01
Ответы с готовыми решениями:

Как в подчинённой форме сделать текущей последнюю запись
Помогите, кто сможет. :-) У меня есть основная форма и подчинённая. В основной...

VBA для вывода сообщения об ошибке для кнопки добавить запись на форме
Здравстуйте всем!!! Прошу помощи в следующем вопросе: дана таблица,...

Запрет перехода на другую запись в форме
форма на 1 запись из 20 полей, при манипуляциях курсором существует возможность...

Как сделать кнопки на подчинённой форме, чтобы при нажатии на них менялись данный в материнской форме?
Подскажите как сделать кнопки на подчинённой форме, чтобы при нажатии на них...

Как создать запись в главной таблице и связанную запись в подчинённой?
Логика: - нажимаю кнопку на форме "00_00_ФОРМА_ОСН"; - открывается форма...

8
mobile
Эксперт MS Access
23338 / 13143 / 2754
Регистрация: 28.04.2012
Сообщений: 14,395
08.01.2017, 07:31 2
Лучший ответ Сообщение было отмечено alvk как решение

Решение

"Конкретная запись" это что значит? Известно значение некоторого поля и запись с этим значением надо найти? Используем методы поиска в рекордсете подформы. Если код выполняется в главной форме, то примерно так:
Visual Basic
1
2
3
4
5
6
7
8
With Me.ИМяПодформы.Form.Recordset
  .findfirst "ИмяПоляВКоторомИщем=" & <ЗначениеКотороеИщем>
  if .nomatch Then 
    'Здесь действия если не найдено
  else
    'Здесь действия если найдено
  end if
end with
Если поиск инициирован из другой формы, то первая строка чуть иначе:
Visual Basic
1
With Forms!ИмяФормы!ИМяПодформы.Form.Recordset
Или под "конкретной записью" Вы подразумеваете что-то иное?
2
GafarovIS
21 / 20 / 0
Регистрация: 10.10.2014
Сообщений: 769
09.01.2017, 07:25  [ТС] 3
А acGoTo здесь неуместно?
Под конкретной записью имеется ввиду строка с ID, выбранным в другом поле со списком.
0
mobile
Эксперт MS Access
23338 / 13143 / 2754
Регистрация: 28.04.2012
Сообщений: 14,395
09.01.2017, 08:29 4
Цитата Сообщение от GafarovIS Посмотреть сообщение
А acGoTo здесь неуместно?
Вы про макрокоманду Gotorecord? Эта макро не ищет значение, она передвигает курсор на определенный номер в наборе записей (первый, последний, с заданным номером и т.д). Если уж применять макрокоманды, то FindRecord. Она ищет заданное значение в записях.
Но я не рекомендую применять макрокоманды в формах. Действия с рекордсетом быстрее и функционал шире. Пример строки поиска ID в подформе в ранее показанном коде
Visual Basic
1
.findfirst "ID=" & Me.МоеПолеСоСписком
1
GafarovIS
21 / 20 / 0
Регистрация: 10.10.2014
Сообщений: 769
09.01.2017, 12:38  [ТС] 5
acGoTo я видел как используют в VB. Я не знал что это макрокоманда. Теперь даже теряюсь как отличить макрокоманду от кода VB.
0
mobile
Эксперт MS Access
23338 / 13143 / 2754
Регистрация: 28.04.2012
Сообщений: 14,395
09.01.2017, 14:16 6
Макрокоманда это некоторый набор команд под одним именем, созданный в непосредственно в Access. Их можно использовать в макросах и в коде ВБА. Но более эффективно применять не макрокоманды, а функционал DAO. Рекордсет относится к DAO.

Макрокоманды легко узнать: их выполнить в коде можно только объектом Docmd. Та же FindRecord пишется Docmd.FindRecord параметры
1
GafarovIS
21 / 20 / 0
Регистрация: 10.10.2014
Сообщений: 769
05.10.2017, 11:08  [ТС] 7
Цитата Сообщение от mobile Посмотреть сообщение
Или под "конкретной записью" Вы подразумеваете что-то иное?
а теперь нужно перейти на новую запись в подчинённой форме.Подскажите пожалуйста как.
0
VinniPuh
Эксперт MS Access
6335 / 3650 / 379
Регистрация: 27.03.2013
Сообщений: 13,444
05.10.2017, 11:17 8
Цитата Сообщение от GafarovIS Посмотреть сообщение
...перейти на новую запись в подчинённой форме...
Я сильно не запариваясь и делаю 3 таких последовательных процедуры, хотя наверное можно и элегантнее.

Visual Basic
1
2
3
DoCmd.GoToControl "ИмяПодформы"
DoCmd.GoToControl "ИмяЭлементаПодформы"
Me.Recordset.AddNew
1
mobile
Эксперт MS Access
23338 / 13143 / 2754
Регистрация: 28.04.2012
Сообщений: 14,395
05.10.2017, 11:42 9
Цитата Сообщение от GafarovIS Посмотреть сообщение
нужно перейти на новую запись в подчинённой форме
Рекордсетом
Visual Basic
1
Me.ИмяПодформы.Form.Recordset.Addnew
1
05.10.2017, 11:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2017, 11:42

Добавление подчинённой формы Vba
Добрый день! Недавно работаю в VBA и возникла необходимость программно...

№пп в подчинённой форме
Уважаемые программисты, будьте добреньки, подскажите: как сделать так, чтобы в...

Как через VBA перейти на выбранную запись в одиночной форме?
Вобщем ищу запись через Database, Recordset, Set db = CurrentDb, FindFirst...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru