Форма для работы с двумя таблицами
scofieldsj
Дата: 06.12.2009 06:56:36
Помогите — меня попросили сделать срочно по Access, а я с ним и не работал никогда, сейчас сижу кнопки тыкаю в конструкторе форм, понять ничего не могу smile. Признаюсь, мне стыдно, но выхода другого нет, кроме как самому обратиться за помощью к тем, кто работал в Access.
Суть вот в чем: есть две таблицы, Клиенты и Товары.
Структура таблицы Клиенты:
ФИО | Адрес | РасчСчет | ИНН | Банк | АдресБанк
Структура таблицы Товары
Наимен | Еденица_изм | Цена
Форма выглядит в виде счета-фактуры. В одном из полей выбирается клиент (я так понимаю, аналог selectbox-а должен быть), и в поля Адрес, Расчетный Счет, ИНН, Банк и Адрес Банка автоматически подгружаются данные из таблицы, связанные с этим клиентом.
Далее есть поле, в которую вводится НДС.
Затем идут пять полей для выбора товара (аналогичные полю выбора клиента), около каждого из них есть поле ввода количества товара. Соответственно, при выборе товара должна в поле Цена подгружаться из таблицы цена товара, умножаться на количество, вычисляться цена с учетом НДС.
Все — вроде бы не так и много. Гугл пока не помогает, но я все ещё в процессе поиска, чтения и ковыряния литературы.
Буду рад любой помощи. Заранее благодарен.
RodionAT
Дата: 06.12.2009 10:05:53
scofieldsj,
Во перых, клиенты - это контрагенты ИДКонтрагенты ....(то есть может быть и покупателем и поставщиком (такое нельзя не принимать)),
Во вторых - вы все правильно сделали, но создайте в контрагентах поле ИДКонтрагенты(счетчик).
В третьих - Таблица Товары будет выглядеть так: ИДКонтрагента, ТоварНаименование, ДатаЦены, Цена, СтавкаНДС (0. если работает без НДС, 10, если работает по продуктам определенных групп. 18- если работает по остальной номенклатуре)
Еще есть нюаннс.
У разных контрагентов на один и тотже товар могут быть разные цены.
Тогда таблица Товар будет выглядеть ИДТовар ,ТоварНазвание ....
Дополнительно: Таблица Цены, ИДТовар, ИДКонтрагент, ДатаЦены, Цена, СтавкаНДС
Выбирайте из поставленной перед Вами задачи!!!
GNM
Дата: 06.12.2009 13:32:42
Посылаю кусочек базы данных, решающей подобную задачу. Это демонстрационный вариант БД при изучении курса Базы данных в колледже. Это 1-ый семестр - интерфейс только с помощью макросов, без VBA. Макросы можно сохранить как модуль, если Вам нужно работать с кодом, и перенести процедуру в модуль формы, связав с нужным событием.
Верхняя подчиненная форма должна иметь источником запрос Остатки на складе, который основан на ряде групповых запросов о поставках и заказах. Не входит в 100 Кб. Пара кнопок на форме тоже бездействуют - по той же причине.
Для автоматического подгружения данных из таблиц или запросов, не связанных с источником формы, используется функция из категории "по подмножеству" DLookUp() - смотрите справку.
GNM
Дата: 06.12.2009 13:39:41
Да, на всякий случай, товары выбираются из верхней подформы щелчком по полосе выделения и преносятся в нижнюю, где формируется заказ.
scofieldsj
Дата: 07.12.2009 12:29:26
Огромное вам спасибо, выручили!