![]() |
Модераторы: Akina |
![]() ![]() ![]() |
|
register |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 20.5.2008 Репутация: нет Всего: нет |
Существует таблица. Существует 3 запроса на выборку записей с этой таблицы по значению одного из полей (типа списка значений). Также существует подчиненная форма, в которой отображаются результаты этих трех запросов в 3х соответствующих табличных формах.
Требуется, после выбора значения из списка вышеуказанного поля в форме: а) сохранить значение в таблице базы; б) выполнить имеющиеся запросы, чтобы таким образом обновилась подчиненные формы (запись перескочила в соответствующую ей согласно своего запроса таблицу формы); в) ![]() |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Надо? с такими формулировками вопросу место в центре помощи.
Или рассказываем, что именно делаем и в каком месте не получается. Со структурами, кодами и пр. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
register |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 20.5.2008 Репутация: нет Всего: нет |
Вот в присоединении собственно база.
Представляет собой систему оперативного учета заказов типографии. Опишу подробнее... Имеем: таблицу Заказы, форму Производство, в ней подчиненные формы, черпающие данные из запросов (фильтров - "условий отбора"). В форме Производство нужно сделать так, чтобы при изменении значения поля Стадия происходило сохранение этого значения в таблице Заказы , повторное выполнение запросов на выборку - Принятые заказы, Готовые к печати заказы, Напечатанные заказы, и, соответственно перерисовка формы Производство. Пытался добиться сего с помощью макросов (есть в приложенном файле), вызываемых по событию "Внесены изменения", но ничего не получается. Не пойму в чем причина. Может в том, что все объекты прописаны кириллицей? P.S. Люди! Помогите пожалуйста разобраться, очень нужно! Без этого невыносимо работать (работаем по бумажным бланкам - каменный век!!!) Из-за этого аврала разобраться просто времени нет (работаю по 12-13часов) Добавлено через 8 минут и 39 секунд Ок, тогда хотя бы скажите, возможно ли реализовать сие с помощью макросов или не обойтись без ВБА? Если не обойтись - придецца учить ВБА... (я пхп-девелопер) Присоединённый файл ( Кол-во скачиваний: 24 ) ![]() |
|||
|
||||
bopoha |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
Не использовать VBA, тоже самое, что писать сайт на html. На событие после обновления поля Стадия пишем обработчик события. В нем:
Я бы так в нормально проекте не делал. Гораздо красивее на подчиненной форме объявить событие. И обработать его, на главной форме. Но раз вы VBA учить не хотите.... |
||||
|
|||||
register |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 20.5.2008 Репутация: нет Всего: нет |
Не в желании дело, а в отсутствии времени. Поймите, я - полиграфист! (ну и веб-девелопер). Я не собираюсь ни с кем соревноваться в профессионализме работы с Акцессом. Я прошу помощи форумчан, опытных в своем сегменте деятельности. Пожалуйста, покажите простой пример ![]() |
|||
|
||||
bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
Простой метод приведен выше. Работает?
|
|||
|
||||
register |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 20.5.2008 Репутация: нет Всего: нет |
Спасибо, но не работает. Друзья! Я упрощаю задачу до примитивности! Во вложении - база без мусора. В ней таблица "Table1", в которой одно из полей - типа списка - "list". Также имеется форма - "Form1", в ней еще две формы - "подчиненная форма eklmn_query" и "подчиненная форма eprst_query". Данные подчиненные формы черпают данные из запросов: "eklmn_query" и "eprst_query", соответственно. Запросы представляют собой ни что инное, как фильтры по значению поля "list". Итак собственно задача формулируется сл.обр.: нужно примитивно, с помощью макросов (безо всякого ВБА) реализовать сохранение в таблице выбранного в имеющейся записи в поле "list" в форме "Form1" нового значения и обновление формы с выполнением вышеуказанных запросов. А теперь собственно проблема: я определяю макрос "save_and_update", состоящий из двух макрокоманд - "Сохранить" и "Обновление"; назначаю его событию "Внесены изменения" каждой из двух вышеуказанных подчиненных форм. Получаю такой вот результат - дуля с маком! ![]() Собственно месидж (вопрос) к спецам по Акцессу: это глюк Акцессовского обновления или я что-то не так делаю? Присоединённый файл ( Кол-во скачиваний: 9 ) ![]() |
|||
|
||||
bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
Умею только на VBA... Увы. Однозначно, вы. Вопрос, что вы обновляете макросом и что осхраняете. А что нужно сохранить и что нужно обновить? Что же просиходит. Сохранение изменений записи в таблицу при попытке изменить запись, но до их внесения. И сразу еж после сохранения обновляем данные на той же форме. Т.е. естественно [censored 6] фигня и получается. Есть события после обнволения - запись уже сохранена в таблице. Т.е. сохранять не нужно. А так как мы сохранили, то что ввели, значит и обновлять не нужно. Нужно обновить другую форму, как я понимаю. Путь к подчиненной форме долог и тернист - Forms![главная].[подчиненная].Form. Это абсолютный путь для макроса. |
|||
|
||||
register |
|
||||||||||||||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 20.5.2008 Репутация: нет Всего: нет |
Отвечу цитируя себя:
Или, на пальцах: надо чтобы после внесения изменения записи, последняя "перескакивала" из одной формы в другую. (2 фильтрующих запроса) Тааак, идем далее...
А вот и нифига подобного! Трабла именно в обновлении, потому что, если из макроса удалить макрокоманду обновления, а оставить сохранение, то все замечательно работает, только приходится форму закрывать и открывать снова. Но так некрасиво.
Нужно обновить главную форму (Form1 - в примере), а подчиненные должны обновяться иерархически по определению.
А вот и нет! Из справки по Акцессу:
|
||||||||||||||
|
|||||||||||||||
bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
register, тогда почему у вас ничего не работает?
Обращаю ваше внимание еще раз. После обновления одной подч. формы, нужно обновлять не активный элемент (т.е. форму, в которой происходили изменения), а другую подч. форму, в которой небоходимо видеть результат. По-этому макросу нужно сказать кого именно обновить. Это сообщение отредактировал(а) bopoha - 27.5.2008, 18:23 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "MS Access" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MS Access | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |