Программы "Простой софт" www.prostoysoft.ru
https://www.prostoysoft.ru/phpBB3/

Помогите написать ЗАПРОС
https://www.prostoysoft.ru/phpBB3/viewtopic.php?f=12&t=29048
Страница 1 из 1

Автор:  elorma [ 27.10.2009 00:38 ]
Заголовок сообщения:  Помогите написать ЗАПРОС

В демо-базе для ЗАКАЗОВ имеется таблица ЗАКАЗАНО. Например, для заказа ID2 для ООО "Простой софт" выполнено 3 услуги на общую сумму 1400 р.
Помогите составить ЗАПРОС на создание в таблице ЗАКАЗЫ вычисляемого поля СУММА ЗАКАЗА.
Использовал Ваши рекомендации в сообщении от 14 мая 2009 г. - не получилось...

Автор:  Ivan [ 27.10.2009 10:30 ]
Заголовок сообщения:  Re: Помогите написать ЗАПРОС

Вы можете сделать это двумя вариантами:
1. Добавить вычисляемое поле в таблицу Заказы с формулой:
SELECT SUM(Amount) FROM tblOrdersProducts WHERE OrderID = tblOrders.ID

2. Вы можете создать отдельное представление (меню Таблицы -> Добавить таблицу, тип: представление) с суммами всех заказов.
Выражение SQL у нее будет такое:
SELECT OrderID, SUM(Amount) AS OrderSum FROM tblOrdersProducts GROUP BY OrderID
и далее добавить новое поле в таблицу Заказы, используя галочку "Вывести поле из другой таблицы" (из этого представления).

Более правильный вариант 2.

Автор:  elorma [ 28.10.2009 11:29 ]
Заголовок сообщения:  Использование исходников на VB6 в прг. "Учет Клиентов"

Мы сейчас изучаем возможности Вашей программы "Учет клиентов".
Попутно несколько вопросов.
Можно ли применить встроенные средства VB6 (например DTPicker для удобства ввода дат) в программе и как это сделать.
Можно ли заменить Ваши автоформы для редактирования полей на формы, написанные на VB6 без переделки программы под клиента.

P.S.: Большое спасибо. Запрос с вычислением суммы услуг работает!!!

Автор:  Ivan [ 28.10.2009 13:37 ]
Заголовок сообщения:  Re: Помогите написать ЗАПРОС

1. Нет, встроенные компоненты изменить нельзя, они жестко привязаны к типу поля. У автоформы много свойств, все только в их пределах.
2. С помощью свойств автоформы вы можете создавать вкладки на ней для группировки полей. Произвольно дизайнить формы нельзя (пока).
Свою форму (и вообще любой файл, в т.ч. свой exe-шник или файл-скрипт .VBS) вы можете запускать по срабатыванию триггера или по специально созданной для этой цели пользвовательской кнопке на панели инструментов. Настройка панели инструментов из меню по правому клику на ней.
В рабочей папке программы есть примеры скриптов ScriptExample1.vbs, ScriptExample2.vbs и ScriptExample3.vbs

Автор:  elorma [ 28.10.2009 18:46 ]
Заголовок сообщения:  Re: Помогите написать ЗАПРОС

Спасибо за все разъяснения.
Как запускать свою форму я уже разобрался. Только как привязать ID выбранной записи в Вашей программе к ID записи в моей формы?

Автор:  Ivan [ 29.10.2009 10:04 ]
Заголовок сообщения:  Re: Помогите написать ЗАПРОС

Посмотрите, как это сделано в настройке пользовательской кнопки "Синхронизация контактов с MS Outlook" и "Экспорт в 1С".
В строке запуска добавляется параметр /[ID]

Автор:  elorma [ 29.10.2009 11:27 ]
Заголовок сообщения:  Пожелания по внешнему виду

1. Возможно ли в свойствах полей добавить добавить выравнивание данных влево, по-центру, вправо. Данные в таблице просто "сливаются" если слева колонка с числовыми данными, а справа - с текстовыми.
2. В Access есть возможность подчиненную таблицу "прикрепить" в виде дерева. По-моему это очень удобно для ведения таблиц ЗАКАЗЫ - ЗАКАЗАНО. Возможно ли это в Вашей программе.

Автор:  Ivan [ 29.10.2009 11:51 ]
Заголовок сообщения:  Re: Помогите написать ЗАПРОС

1. Нет, выравнивание жестко зависит от типа поля и служит косвенным показателем этого.
Данные в текстовых полях выравниваются по левому краю, в числовых и в дата/время - по правому, да/нет - по ценру.
2. Нет, у нас такой возможности нет на данный момент. Дерево только слева, его можно гибко настраивать по данным основной таблицы (но не подчиненной).
Вы можете отчасти отобразить иерархию в подчиненной таблице, если начнете задавать объединение полей (в Настройке полей) для этой таблицы, когда она как главная. Объединение значений полей - одинаковые данные показываются только один раз.
Вот посмотрите на поле "Год выпуска" и "Цена" на вложенной картинке.

Вложения:
AdAuto3.gif
AdAuto3.gif [ 43.4 КБ | Просмотров: 58801 ]

Автор:  elorma [ 03.11.2009 02:15 ]
Заголовок сообщения:  Re: Помогите написать ЗАПРОС

Иван! Спасибо за все пояснения к моим вопросам.
Помогите пожалуйста написать формулу для автонумерации заказов следующего вида:
1109_001
1109_002
где 11 -номер текущего месяца, 09 - текущий год, 001 - трехзначное число.
По окончании месяца нумерация должна начинаться с 001.

Автор:  Ivan [ 03.11.2009 15:19 ]
Заголовок сообщения:  Re: Помогите написать ЗАПРОС

Это довольно сложно, но, конечно, можно.
В формуле значения по умолчанию должно быть условие зависимости от конца месяца с запросом на существование уже записей с этом месяце. А иначе должно браться максимальное плюс единица. Ну и подставить правильный префикс, исходя из текущей даты, проблем нет.
Обратитесь к нам по емейл с этим, если не справитесь самостоятельно.

Страница 1 из 1 Часовой пояс: UTC + 4 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/