Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Объект-источник, подчиненные и основные поля 
:(
    Опции темы
Woodlin
Дата 19.10.2009, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 188
Регистрация: 15.7.2009
Где: Челябинская облас ть, г. Пласт

Репутация: 1
Всего: 1



Всем здравствуйте!

Помогите решить проблему, в форму (назову её "Главная") внедрил набор вкладок "НаборВкладок1". В первую вкладку внедрил "Форма1", во вторую - "Форма2", в третью - "Форма3". 
Под набором вкладок внедрил субформу (свободный объект). 

В зависимости от номера активной вкладки в субформе задаётся объект-источник с подчиненными и основными полями для связи с формой, находящейся в активной вкладке. Всё хорошо когда "Главная" форма только что открыта, при переключении вкладки в субформу загружается нужная форма с подчиненными и основными полями. Когда пытюсь включить другую вкладку выскакивает сообщение и посит ввести параметр и пишет значение подчиненного поля предыдущей формы, загруженной в субформу.

Я так понимаю при переключении вкладки надо разорвать соединение субформы. Только вот как это сделать?
вот пример кода:
Код

Private Sub НаборВкладок1_Change()
Dim Rast As SubForm

With Forms![Оснастка в расточке]
  Set Rast = .Суб_Расточка
  
  Select Case .[НаборВкладок1]
     Case 0    'Активна вкладка "Втулки"
       Rast.SourceObject = "Form.Запрос_Расточить_втулку"
       Rast.LinkChildFields = "Код(Втулки)"
       Rast.LinkMasterFields = "[Расточка подчиненная Втулки]![код]"
     Case 1    'Активна вкладка "Крышки"
       Rast.SourceObject = "Form.Запрос_Расточить_крышку"
       Rast.LinkChildFields = "Код(Крышки)"
       Rast.LinkMasterFields = "[Оснастка в расточке суб_Крышки]![код]"
   End Select
End With
  'Debug.Print Rast.SourceObject
End Sub

PM MAIL ICQ   Вверх
Akina
Дата 19.10.2009, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Попробуй типа такого для начала:
Код

     Case 0    'Активна вкладка "Втулки"
       Rast.LinkChildFields = ""
       Rast.LinkMasterFields = ""
       Rast.SourceObject = "Form.Запрос_Расточить_втулку"
       Rast.LinkChildFields = "Код(Втулки)"
       Rast.LinkMasterFields = "[Расточка подчиненная Втулки]![код]"



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Woodlin
Дата 19.10.2009, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 188
Регистрация: 15.7.2009
Где: Челябинская облас ть, г. Пласт

Репутация: 1
Всего: 1



Akina, пробовал исрользовать: "", empty, null, даже nathing на всякий случай, и ничего не помогло.
Что интересно в другой форме делал точно так же чтобы задать все поля и всё работало.
я уже начинаю подозревать что может быть тут сами вкладки воду мутят. К примеру GoToControl во вкладках у меня так просто не получалось задать.
PM MAIL ICQ   Вверх
bopoha
Дата 19.10.2009, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Цитата(Woodlin @  19.10.2009,  10:41 Найти цитируемый пост)
Rast.SourceObject = "Form.Запрос_Расточить_втулку"

У вас форма так и называется: "Form.Запрос_Расточить_втулку"?

Добавлено через 1 минуту и 9 секунд
Часто сам подчиненные формы менял. Проблем не было.

Цитата(Woodlin @  19.10.2009,  11:05 Найти цитируемый пост)
я уже начинаю подозревать что может быть тут сами вкладки воду мутят. К примеру GoToControl во вкладках у меня так просто не получалось задать. 

Маловероятно. Скорей всего вы что-то не так делаете. Как насчет SetFocus ?


PM MAIL WWW ICQ Skype GTalk   Вверх
Woodlin
Дата 19.10.2009, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 188
Регистрация: 15.7.2009
Где: Челябинская облас ть, г. Пласт

Репутация: 1
Всего: 1



Bopoha, 
да у меня форма так и называется: "Form.Запрос_Расточить_втулку"
дело в том что сначала в субформе у меня был запрос, но как начались проблемы с заданием подчиненных и основных полей решил попробовать в субформу вставить форму.
PM MAIL ICQ   Вверх
bopoha
Дата 19.10.2009, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Woodlin, выложите свой пример с главной и подчиненной формой. Гляну.
PM MAIL WWW ICQ Skype GTalk   Вверх
Woodlin
Дата 20.10.2009, 05:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 188
Регистрация: 15.7.2009
Где: Челябинская облас ть, г. Пласт

Репутация: 1
Всего: 1



Bopoha, 
Открывайте форму "Оснастка в расточке (копия)", остальные подчиненные


Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  ______.rar 38,25 Kb
PM MAIL ICQ   Вверх
bopoha
Дата 20.10.2009, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Woodlin, 
1. В названии форм у вас нет "Form.", так и не нужно писать тут:
Цитата(Woodlin @  19.10.2009,  10:41 Найти цитируемый пост)
Rast.SourceObject = "Form.Запрос_Расточить_втулку"


2. Перед тем как поменять форму стоит удалять связи:
Код

       Rast.LinkChildFields = ""
       Rast.LinkMasterFields = ""


3. Вы пытаетесь связать подчиненные формы. Так нельзя. Подчиненная форма всегда связывается с главной.
Если вы хотите для каждой записи в формах "Остнастка в расточке *" показывать записи в нижней форме, то это сотит делать в обработчике события текущая запись каждой главной формы. В этом обработчике можно генерировать событие, которое обработает главная форма (лучший вариант), или вызывать метод главной формы, который выполнит фильтрацию "связанной" подчиненной формы.

О событиях можно почитать тут: http://5codelines.net/events1/. Продолжения стати еще нет, руки никак не дойдут.
PM MAIL WWW ICQ Skype GTalk   Вверх
Woodlin
Дата 22.10.2009, 06:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 188
Регистрация: 15.7.2009
Где: Челябинская облас ть, г. Пласт

Репутация: 1
Всего: 1



bopoha, 

Цитата(bopoha @  20.10.2009,  11:38 Найти цитируемый пост)
Перед тем как поменять форму стоит удалять связи:
Выделить всёкод Visual Basic
Rast.LinkChildFields = ""
Rast.LinkMasterFields = ""


у меня почему то не работает приведённое Вами выражение... в общем я решил обойти эту проблему и сделать по другому.

Спасибо Вам за внимание и потраченное время
PM MAIL ICQ   Вверх
bopoha
Дата 22.10.2009, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Woodlin, кусок кода выше я взял из вашего кода. Он был закоментарен. У меня работал. Без ошибок.
PM MAIL WWW ICQ Skype GTalk   Вверх
Woodlin
Дата 23.10.2009, 07:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 188
Регистрация: 15.7.2009
Где: Челябинская облас ть, г. Пласт

Репутация: 1
Всего: 1



bopoha, 
Цитата(bopoha @  22.10.2009,  10:20 Найти цитируемый пост)
кусок кода выше я взял из вашего кода. Он был закоментарен. У меня работал. Без ошибок. 


Вероятно у меня Оффис тупит, когда внедряю субформу мастером и прописываю в свойствах подчинённые и основные поля всё прекрасно работает, а задать поля кодом не получается
на строки:
Rast.LinkChildFields = ""
Rast.LinkMasterFields = ""
ругается, пишет что Введенное выражение не подходит для данного свойства.

В общем мутное дело
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0511 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.