Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Разорвать/восстановить связь между основными и подчиненными полями
 
 автор: Леон   (13.05.2009 в 16:25)   личное сообщение
 
 

С помощью элемента управления как можно разорвать/восстановить связь между основными и подчиненными полями в связанных формах

  Ответить  
 
 автор: Леон   (13.05.2009 в 20:18)   личное сообщение
 
 

сумбур ? Который никому не нужен ?

  Ответить  
 
 автор: Lukas   (13.05.2009 в 20:22)   личное сообщение
 
 

Все-таки требуются пояснения (Типа имеем это, хотим иметь то.), и лучше с небольшим примером в прицепе.

  Ответить  
 
 автор: Леон   (13.05.2009 в 21:08)   личное сообщение
 
 

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

  Ответить  
 
 автор: Lukas   (13.05.2009 в 21:32)   личное сообщение
 
 

Надо смотреть каким образом ограничивается набор данных подчиненной формы.
Варианты:
1. Применением фильтра
2. Динамическим присвоением нового источника
3. Ссылкой в запросе-источнике на значение комбобокса главной формы.
4. Как-то еще.
Решения:
1. Отключить фильтр подчиненной формы.
2. Присвоить источник без ограничений на выборку по значению комбобокса.
3. Изменить запрос-источник.
4. Как-то еще.

  Ответить  
 
 автор: Goblin   (13.05.2009 в 21:44)   личное сообщение
 
 

5. Установить вторую подчиненную форму в невидимом режиме, которая не завязана на основную. Нажатием кнопки завязанная подчиненная становится невидимой, а незавязанная - видимой. Потом, соответственно наоборот.

  Ответить  
 
 автор: Lukas   (13.05.2009 в 21:49)   личное сообщение
 
 

И зачем форме такой утюг?

  Ответить  
 
 автор: Goblin   (13.05.2009 в 22:32)   личное сообщение
 
 

Ну так форма-то связана по полям (полю). Разрывать связь смысла нет, так как появится какая-то запись в подчиненной, которая никак не связана с основной. Почему бы не поставить в режиме чтения вторую форму (не завязанную) для просмотра всего что есть. А по поводу фильтра с его отключением примерчик бы не помешал, для детального рассмотрения. И все же формы-то завязаны. Или я опять чего-то не понял.

  Ответить  
 
 автор: Леон   (14.05.2009 в 08:06)   личное сообщение
46 Кб.
 
 

Вот и моя аказия

  Ответить  
 
 автор: Lukas   (14.05.2009 в 11:41)   личное сообщение
28 Кб.
 
 

Все должно быть проще:

  Ответить  
 
 автор: Goblin   (14.05.2009 в 23:42)   личное сообщение
 
 

Ну в качестве учебной программы по разделу применения фильтров хороша. Можно взять на вооружение. Но для практического применения тагсе.
Вписываю в подчиненную форму что угодно, а оно не привязывается к записи основной, и потом не показывается. (не привязана потому что) А речь то шла о привязаной форме. Вот если бы нажатием кнопки убиралась связь, и форма, приобретая свойство (только чтение) показывала бы все записи, тогда другое дело.
Пример: На определенную дату есть работа определенного сотрудника. Основная форма - дата и ФИО. Подчиненная - всякая дрянь на сотрудника на данную дату. Нажатием кнопки показывает на данного сотрудника всю дрянь на все даты за год. (Отвязан от даты, привязан к сотруднику) Иначе как через запрос в другой подчиненной форме я не вижу решения. А вы?

  Ответить  
 
 автор: Lukas   (15.05.2009 в 00:06)   личное сообщение
 
 


Вписываю в подчиненную форму .... я не вижу решения.


Дружище, позвольте дать вам дружеский совет: Прочтите, наконец, какую-нибудь "Азбуку" по Access, прежде чем морочить голову другим людям.

  Ответить  
 
 автор: Goblin   (15.05.2009 в 14:53)   личное сообщение
 
 

Спасибо Lukas за дружеский совет. По части программирования вы куда сильнее. Буду чтить азбуку.

  Ответить  
 
 автор: Леон   (15.05.2009 в 11:59)   личное сообщение
 
 

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

Private Sub Кнопка1_Click()
Me.План1.Form.FilterOn = False
Me.План2.Form.FilterOn = False
Me.План3.Form.FilterOn = False
End Sub

  Ответить  
 
 автор: x8i   (15.05.2009 в 15:04)   личное сообщение
 
 

А может там у тебя в формах План2 и План3 записи отфильтровываются не фильтром а источником данных?

  Ответить  
 
 автор: Леон   (15.05.2009 в 15:19)   личное сообщение
 
 

В том-то и дело . Что , например

Private Sub кнопка_Click()
Me.План3.Form.FilterOn = False
End Sub

Работает!

  Ответить  
 
 автор: Pilot   (15.05.2009 в 18:36)   личное сообщение
 
 

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

  Ответить  
 
 автор: Леон   (15.05.2009 в 19:56)   личное сообщение
 
 

Можно! Большое спасибо за совет! Но здесь уже дело принципа- почему не работает код?

  Ответить  
 
 автор: Леон   (15.05.2009 в 22:34)   личное сообщение
 
 

Подсмотрел ;-) на англоязычных сайтах - переходим для следующего отключения фильтра через setfocus ? Будем ждать вердикта наших гуру :-)

  Ответить  
 
 автор: Lukas   (15.05.2009 в 22:47)   личное сообщение
 
 

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

  Ответить  
 
 автор: Goblin   (15.05.2009 в 22:49)   личное сообщение
 
 

Похоже я опять не в тему и не к селу. Но может что использовать из того, что уже есть.
http://hiprog.com/index.php?option=com_content&task=view&id=251661613&Itemid=35

  Ответить  
 
 автор: Леон   (15.05.2009 в 23:24)   личное сообщение
 
 

Lukas я уважаю твои знания и опыт! Процедура массового отключения фильтров одним событием не срабатывает
Me.a.form.filteron=false
Me.aa.form.filteron=false
Me.aaa.form.filteron=false
Происходит срабатывание первой строки кода. Ограничиваем апострофами первою строку-срабатывает вторая и т.д.

  Ответить  
 
 автор: Lukas   (16.05.2009 в 00:32)   личное сообщение
58 Кб.
 
 

Попробуй так, как в примере:
Смысл такой: мы не отключаем фильтр подформам, мы назначаем новый, который будет показывать все записи.
(типа ... WHERE True)

  Ответить  
 
 автор: Goblin   (16.05.2009 в 00:36)   личное сообщение
40 Кб.
 
 

Смотри какую шутку на основе лукаса и сампле. Ты ее доработаешь, если идею схватишь однозначно. Фильтров никаких нет, есть только подменяемые поля. Это выражение в запросах. На эти выражения завязываем формы. Кароче, глянь, может идею поддержишь?

  Ответить  
 
 автор: snipe   (16.05.2009 в 02:26)   личное сообщение
37 Кб.
 
 

вот еще один вариант......

  Ответить  
 
 автор: Goblin   (17.05.2009 в 17:43)   личное сообщение
46 Кб.
 
 

Зацени шутку от гоблина. Кажется по теме. Пояснительная в архиве.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList