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

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

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

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

http://www.cyberforum.ru/ms-access/thread492659.html

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

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

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

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

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

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

8
mobile
Эксперт MS Access
22490 / 12808 / 2611
Регистрация: 28.04.2012
Сообщений: 14,012
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
20 / 19 / 0
Регистрация: 10.10.2014
Сообщений: 698
09.01.2017, 07:25  [ТС] #3
А acGoTo здесь неуместно?
Под конкретной записью имеется ввиду строка с ID, выбранным в другом поле со списком.
0
mobile
Эксперт MS Access
22490 / 12808 / 2611
Регистрация: 28.04.2012
Сообщений: 14,012
09.01.2017, 08:29 #4
Цитата Сообщение от GafarovIS Посмотреть сообщение
А acGoTo здесь неуместно?
Вы про макрокоманду Gotorecord? Эта макро не ищет значение, она передвигает курсор на определенный номер в наборе записей (первый, последний, с заданным номером и т.д). Если уж применять макрокоманды, то FindRecord. Она ищет заданное значение в записях.
Но я не рекомендую применять макрокоманды в формах. Действия с рекордсетом быстрее и функционал шире. Пример строки поиска ID в подформе в ранее показанном коде
Visual Basic
1
.findfirst "ID=" & Me.МоеПолеСоСписком
1
GafarovIS
20 / 19 / 0
Регистрация: 10.10.2014
Сообщений: 698
09.01.2017, 12:38  [ТС] #5
acGoTo я видел как используют в VB. Я не знал что это макрокоманда. Теперь даже теряюсь как отличить макрокоманду от кода VB.
0
mobile
Эксперт MS Access
22490 / 12808 / 2611
Регистрация: 28.04.2012
Сообщений: 14,012
09.01.2017, 14:16 #6
Макрокоманда это некоторый набор команд под одним именем, созданный в непосредственно в Access. Их можно использовать в макросах и в коде ВБА. Но более эффективно применять не макрокоманды, а функционал DAO. Рекордсет относится к DAO.

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

Visual Basic
1
2
3
DoCmd.GoToControl "ИмяПодформы"
DoCmd.GoToControl "ИмяЭлементаПодформы"
Me.Recordset.AddNew
1
mobile
Эксперт MS Access
22490 / 12808 / 2611
Регистрация: 28.04.2012
Сообщений: 14,012
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 перейти на выбранную запись в одиночной форме?
Вобщем ищу запись через Database, Recordset, Set db = CurrentDb, FindFirst...

Автозаполнение поля в подчинённой форме
Здравствуйте. У меня имеются 2 таблицы: 1) Учащиеся(поля: КодУч и ФИО) и...

Видимость кнопки в подчинённой форме
Помогите, не получается у меня. Форма &quot;Ввод данных&quot;, поле &quot;Признак печати&quot; -...


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

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

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