Microsoft Access: разработка запросов с сортировкой и группировкой как в sql сервере?
Здравствуйте.
возникла у меня задача по учету некоторого несложного бизнес-процесса, который я решил автоматизировать при помощи Microsoft Access, т.к. посчитал что однопользовательскую базу так будет сделать проще и быстрее, но не тут то было.
в базе две таблицы — одна — клиенты, вторая — заказы, первая — родительская, вторая — подчиненная.
нужно сделать список клиентов, в котором так же присутствует дата последнего заказа, по строке клиента нужно щелкнуть и тогда откроется окно (видимо, форма) в которой можно будет увидеть полную информацию о клиенте (и подправить ее) и список всех заказов, отсортированных по дате.
вопрос: как сделать страницу со сгруппированным списком, это должно быть запросом или отчетом или еще чем-то в терминах access?
Спасибо.
Правильно ли я понимаю, что мне нужно сделать форму, в нее внедрить запрос, в котором выполняется объединение двух таблиц и группировка, потом при двойном клике на строку запроса я вывожу карточку клиента в которой помещена подчененная таблица с заказами?
если так, то как мне сделать так чтобы при двойном щелчке открывалась новая форма?
1. Делаем главную форму. В ней у вас — ну пусть список клиентов. и id клиента
2. Делаем подчиненную форму — в ней запрос с id клиента. По этим двум id связываете обе этих формы, по-моему, даже мастер это умеет.
далее при перемещении по строкам главной формы — автоматически будете попадать на такие же id во второй. Обе формы табличные. И можно редактировать прямо в них.
3. Если уж сил нет, как хочется по двойному клику — ну, ловите событие формы dbl_click и в нем делаете form open.
Спасибо.
Для группировки и отображения даты последнего заказа я сделал запрос с группировкой (отредактировал SQL запрос руками), после этого запрос не позволяет редактировать и вставлять данные.
на форме у меня подчиненный запрос о котором я уже говорил и подчиненная таблица с заказами. но они не связаны между собой по ключу.
как их можно связать, чтобы получилось так, как вы описали?
Если запрос не позволяет редактировать данные — в вашем случае я бы поставил на то, что запрос составлен не корректно, а, к примеру, нет ключевых полей и ему просто не понятно — какую именно таблицу надо обновлять.
Как связать — конечно же, добавить ключ и в одном, и в другом запросе. У вас же он есть, ну — должен быть, при нормальной структуре.
Id_Client всяко должен быть в заказе клиента. Id_Client не может не быть в информации о клиенте. В заказе это просто индексированное поле, в информации — primary key. Вяжите по ним. Если оба поля — int, все будет летать.