Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 24.04.2010
Сообщений: 77

При переходе на с записи на запись в форме A2 я хочу перегружать форму A3 ???

24.04.2010, 23:30. Показов 2158. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, знатоки Access’a!
Есть у меня форма A1 с двумя подформами A2 и A3 (обе в табличной форе).
При переходе на с записи на запись в форме A2 я хочу перегружать форму A3 в зависимости от выбранного ID-значения в форме A2 (хочу именно подгружать актуальные данные, а не фильтровать старые).
Делаю нечто вроде:

В Form A1:
Visual Basic
1
2
3
4
Private Sub Form_Current()
    Form![A2].RecordSource = 'exec my_sp_name ' & Me!a1_current_id
    Form![A2].Requery 
End Sub
Что бы я не делал - получаю ошибку.
Перепробовал все известные мне комбинации (с «!», «.», без вызова «Form», и т.д. известно мне как Вам уже понятно – не много ;-)). в данном случая – форма A2 считается не открытой. Открываю я ее программно в блоке обработчика ошибок – вылазит эта форма отдельным окном, а мне надо – как subform. Т.е. это совсем не то направление, что мне надо.
Держаться нету больше сил. Помогите! с примером, пожалуйста!!

Resu
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.04.2010, 23:30
Ответы с готовыми решениями:

Запрещено изменение записи в форме при переходе на новую запись
Добрый день, возникла страннная ситуация - при открытии формы в режиме добавления (DoCmd.OpenForm 'Houses', , , , acFormAdd) запрещено...

Не перегружать виджет при переходе по страницам
Всем доброе время суток! У меня такой вопрос, в виджете играет музыка, как сделать что бы при переходе на другую страницу она не продолжала...

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

17
papirus
25.04.2010, 10:05
Если я правильно понял, то и событие Current надо отлавливать в форме А2, а не А3. И перегружать с новым источником данных надо А3, а не А2.
papirus
25.04.2010, 10:06
Пардон отлавливать в не в А1!!
1 / 1 / 0
Регистрация: 24.04.2010
Сообщений: 77
27.04.2010, 03:40  [ТС]
To papirus :
да, так и есть. я описалcя (прошу поставить ударение на его правильное место ;-)))

событие Current я отлавливаю в A2. но, как бы то ни было все это НЕ РАБОТАЕТ
0
1 / 1 / 0
Регистрация: 24.04.2010
Сообщений: 77
27.04.2010, 03:41  [ТС]
и гружу, соответственно, в A3
0
papirus
27.04.2010, 09:57
1. попробуй добавить описатель хранимки (dbo.my_sp_name) посмотри последовательность ссылок
Visual Basic
1
2
3
Private Sub Form_Current() 
 Forms('A1').A3.Form.RecordSource = 'exec dbo.my_sp_name ' & Forms('A1').[A2].Form.a1_current_id  
End Sub
2. Попробуй синхронизировать формы иначе
- на форму А1 добавь свободный контрол (напр. 'txtLink') в его свойства данные введи выражение
Visual Basic
1
 =Forms('A1').[A2].Form.a1_current_id
- выдели форму А3 и в свойствах Основные/подчиненные поля укажи основное поле - имя свободного контрола txtLink, а в подчиненные имя соответствующего поля в А3
1 / 1 / 0
Регистрация: 24.04.2010
Сообщений: 77
03.05.2010, 02:42  [ТС]
нет, не катит.

форма A3 считается не открытой. но почему???
0
papirus
03.05.2010, 11:55
Форма А3 вложена в А2 или в А1?
1 / 1 / 0
Регистрация: 24.04.2010
Сообщений: 77
07.05.2010, 20:04  [ТС]
Форма А3 вложена в А1. я не совсем корректно сформулировал вопрос.

Мне надо перегружать одну таблицу (Форма A3) лежащую на Форме A1 в зависимости от выдранного ID в другой таблице (Форма A2) тоже лежащей на Форме A1.
0
papirus
09.05.2010, 09:34
Задача примитивно простая. Поэтому и не моггу понять что у тебя не катит.

Попробуй передать хранимке не значение контрола на форме, а просто константу (существующий ID). Может быть проблема в этом.

Или попробуй фильтровать данные в форме А3.
1 / 1 / 0
Регистрация: 24.04.2010
Сообщений: 77
09.05.2010, 14:47  [ТС]
С хранимкой проблем нет. Проблема с доступом из подформы A2 к подформе А3.
Visual Basic
1
2
3
4
Private Sub Form_A2_Current()
  Form![a3].RecordSource = 'exec my_sp_name ' & Me!a1_current_id
  Form![a3].Requery 
End Sub
“Form![a3]….“ – вот это обращение вызывает ошибку. Форма А3 считается НЕ ОТКРЫТОЙ!

Вот это и есть моя проблема !! вот.

Спасибо.
0
papirus
09.05.2010, 16:47
Извини 18/02 не акцентировал, думал и так ясно что имеется ввиду. Обрати внимание, что форма А3 - это контрол на форме А1 (как и А2) и обращаться к нему надо по полному имени: Forms('ИмяГлавной').[ИмяСубФормы].Form - если надо обратиться к контролу как к форме. Это важно при назначении источника данных. В случае реквери - это не обязательно.
Visual Basic
1
2
3
4
Private Sub Form_A2_Current() 
Forms('A1').[a3].Form.RecordSource = 'exec my_sp_name ' & Me!al_current_id 
Forms('A1').[a3].Requery 
End Sub
1 / 1 / 0
Регистрация: 24.04.2010
Сообщений: 77
12.05.2010, 03:11  [ТС]
ну, что сказать. Все Работает так как надо. Большое спосибо Всем, кто думал над этой задачей и отдельное – автору решения.

Я использовал такой вариант:
Visual Basic
1
Forms('A1').Controls!a3.Form.RecordSource = 'exec my_sp_name ' & Me!id
хотелось бы только понять разницу и что вообще означают скобки «[]»
спрасибо.

Есть следующий вопрос:
Вызов хранимки не возвращающей никакий данный возмущает Access до глубины души.
0
papirus
12.05.2010, 09:40
А зачем Controls!A3? Так тоже должно работать:

Forms('A1').[a3].Form.RecordSource = 'exec my_sp_name ' & Me!al_current_id

А квадратные скобки обязательны только если в имени объекта есть пробелы или имя его совпадает с к-.н. ключевым (системным) именем. Если уверен - можно и без :о))

Удачи.
1 / 1 / 0
Регистрация: 24.04.2010
Сообщений: 77
16.05.2010, 01:15  [ТС]
работают оба варианта, просто вторая форма написания (нашел в неулюжих help'ах Access'a) мне показалась удобнее тем, что наличие Controls просто подсказывает, что обращаешся
к елементу управления.
предложенное Вами решение - короче и лаконичнее.
0
0 / 0 / 0
Регистрация: 25.03.2010
Сообщений: 210
17.05.2010, 16:47
всё здорово, спасибо.
но я тут экспериментировал.
мне нужно присвоить значение String выбранного в СубФорме значения из КомбоБокса. потом это значение испольховать как фильтр в SQL
запускается всё ето с основной формы. на данную строку пишет Object does not support this property or method -

Ys = Me![FilterSub].Ygrek_list.Column(1)

по всякому переписывал, и кажется запутался
не поскажете?
спасибо
0
papirus
17.05.2010, 16:55
А
Visual Basic
1
Ys = Me![FilterSub].Form.Ygrek_list.Column(1)
тоже не работает?
0 / 0 / 0
Регистрация: 25.03.2010
Сообщений: 210
17.05.2010, 17:20
ох заработала
извините...
спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.05.2010, 17:20
Помогаю со студенческими работами здесь

"Обновление" внедрённой формы при переходе в основной форме на другую запись
Здравствуйте! Я использовал штатный макрос "ВыбратьОбъект" для выбора внедрённой формы в зависимости от значения одного из полей в...

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

C# при переходе на форму ошибка!
переход на другую форму: Form2 form2 = new Form2(); form2.ShowDialog(); в win 8 все норм но в win 7 и ниже программа...

Ошибка при переходе на форму
тут такая проблемка появилась, присоздании нового проекта собственно и новых форм то нельзя перейти с одной формы перейти на другую. ...

Открыть форму при переходе из facebook
Здравствуйте! Подскажите, как при переходе с facebook на сайт компании, при открытии страницы открывалась форма записи на этой же странице?


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru