1 / 1 / 0
Регистрация: 23.11.2009
Сообщений: 18
|
|
1 | |
Автоматическое формирование отчётов по форме19.04.2010, 12:46. Показов 1937. Ответов 0
Метки нет (Все метки)
Доброго вам времени суток, уважаемые гуру!
Обращаюсь к вам с проблемой, заморачивающей меня глобально уже долгое время и до решения которой я наконец-то добрался (далее, без её решения, процесс не идёт): Передо мной встала необходимость формирования отчётов на отгрузку в виде формы 1-Т (общеизвестна как Товарно-транспортная накладная), заполняемой на основе данных из формы. Приаттачить файл не смог, посему ссылка следующая: Ситуация заключается в следующем. В форме WorkForm, открытой в режиме формы отображаются данные по разным покупателям: внутренний номер покупателя (поле Customer), наименование компании-плательщика (поле Payer) и компании-получателя (поле Receiver), и, естественно, их адреса - адрес компании-плательщика (поле PayerAddress) и адрес компании-получателя (поле UploadPlace), вкупе, собственно, идёт "суммарная синтетика" (суммарные синтетические данные) по товарам, предназначеным на определённого покупателя (на данного Customer'а) (т.е. привязка "синтетики" идёт по номеру покупателя, т.е. по Customer'у): общее кол-во билетов на отправку(поле ST_Qty) общее количество мест, предназначающихся покупателю (поле SumPlcs4Cust), суммарный вес предназначающихся покупателю мест (поле SumWeight4Cust) и суммарный объём предназначающихся покупателю мест (поле SumVol4Cust) Подчинённая форма OrgByST__subform (отображающая данные таблицы OrgByST) - это инструмент более детальной синтетики по билетам на отправку - в ней указываются все билеты на отпраку по определённому покупателю (Customer'у) и общая информация по каждому билету: номер билета (поле ST_Num), общее кол-во позиций\мест в билете (поле PlacesInST), общий вес входящих позиций\мест (поле SUM_WEIGHT), общий объём мест, входящих в билет (поле SUM_VOLUME). Подчинённая форма TabN__subform (отображающая данные таблицы TabN) - это последний уровень синтетики - детализация идёт по местам, содержащимся в определённом билете по определённому покупателю (Customer'у) и общая информация по каждому месту: номер места (поле PalletNum), вес позиции\места (поле WEIGHT), объём места, входящего в билет (поле Volume). При формировании этого отчёта (накладной) мы работаем с основной формой, т.е. с полями формы WorkForm и с подчинённой формой TabN__subform (а точнее с данными таблицы TabN) в которых совпадает Customer, т.е. где (forms![WorkForm]![Customer] = TabN.CUSTOMER) и выполняется условие (forms![WorkForm]![Flag] = TRUE) (т.е. по тем заказчикам, которые были выбраны - помечены флажками) - из основной формы по каждому заказчику (Customer'у) должна осуществляться выборка следующих полей: - по машине forms![WorkForm]![DRiverFIO], forms![WorkForm]![AutoModel], forms![WorkForm]![AutoNumber], forms![WorkForm]![ArrivalTime], forms![WorkForm]![LeavingTime], forms![WorkForm]![SealNum], - информации по заказчику: forms![WorkForm]![Customer],forms![WorkForm]![Payer], forms![WorkForm]![PayerAddress],forms![WorkForm]![Receiver], forms![WorkForm]![UploadPlace],forms![WorkForm]![SumPlcs4Cust], forms![WorkForm]![SumWeight4Cust],forms![WorkForm]![SumVol4Cust], - а также данные по местам из таблицы TabN: TabN.PalletNum, TabN.WEIGHT, TabN.Volume (т.е. выборка данных из таблицы TabN осуществляется только по условию совпадения внутренних номеров заказчика, т.е. условие будет иметь вид типа: WHERE (((forms![WorkForm]![Customer] = TabN.CUSTOMER) На кнопку "Сформировать" будет накинут макрос, который запускает ряд запросов: 1) запрос, собственно, формирующий динамическую таблицу, содержащую информацию по машине, информацию по заказчику и данные по местам из таблицы TabN (вложенная таблица) 2) запрос, формирующий лог () (рабочий вид этого запроса мне пока реализовать не удалось) 3) запрос, удаляющий выбранные флажками записи из таблицы Tab2, по которым были сформированы накладные Сама проблема носит "инструментарный" характер, и заключается в том, что у меня, тупо, не хватает знаний и умений на то, чтобы сгенерить код модуля, который (а) запускает запрос (1), т.е. запрос, формирующий динамическую таблицу, содержащую информацию по машине, информацию по заказчику и данные по местам из таблицы TabN (вложенную таблицу), - или методами DAO или ADO формирует динамический recordset, данные из которого можно будет использовать для формирования отчётов, (б) формирует отчёт по каждому заказчику (Customer'у) (т.е. N-ное кол-во отчётов в зависимости от кол-во записей, выбранных флажками) и выводит эти отчёты на печать. Одно из условий моего мозго*бства состоит в том, что у меня уже имеются макеты отчётов (TTH_1ST_PAGE (куда "подтягивается" информация по заказчику (подтягиваются в "шапку" отчёта) и данные по местам из таблицы TabN (подтягиваются в ТОВАРНЫЙ РАЗДЕЛ) и TTH_2ND_PAGE (куда "подтягивается" информация по машине (подтягивается в начало ТРАНСПОРТНОГО РАЗДЕЛА)), к которым приаттачены необходимые поля из формы, но которые не работают =((( Посему хочу привязать результат к файлу xls... Молю о помощи. Искренне надеюсь на вашу помощь или советы по поводу того, как это, хотя бы примерно, можно организовать и заранее благодарю за любую оказанную помощь в решении этого затыка.
0
|
19.04.2010, 12:46 | |
Ответы с готовыми решениями:
0
Формирование сложных отчетов на основании выбора пользователя в форме Формирование отчетов Формирование однотипных отчетов Формирование отчетов на основе запросов |
19.04.2010, 12:46 | |
19.04.2010, 12:46 | |
Помогаю со студенческими работами здесь
1
Автоматическое формирование выпадающего списка на форме Формирование отчетов Формирование отчетов Формирование отчетов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |