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

ВНИМАНИЕ! РЕКЛАМНЫЕ СООБЩЕНИЯ И ГИПЕРССЫЛКИ В ФОРУМЕ ЗАПРЕЩЕНЫ (посты удаляются автоматически часто с пользователем)
Текущее время: 23.01.2018 06:03

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
СообщениеДобавлено: 06.01.2018 12:55 
Не в сети

Зарегистрирован: 01.02.2011 13:58
Сообщения: 287
Пользователь вносит в базу очередного клиента. Хочет быстро увидеть перечень покупок, которые ранее совершал этот клиент.
Нажимает на боковой панели кнопку "История покупок". Делается выборка в результате которой формируется таблица с покупками этого клиента.
Как показать пользователю таблицу, сформированную в результате выборки?
Может кто-то уже решал подобную задачу?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06.01.2018 21:58 
Не в сети

Зарегистрирован: 25.04.2012 10:09
Сообщения: 2044
Откуда: Жуковский, Московская область
Создать представление, выводящее список всех покупок всех клиентов. Можно его сделать только для чтения. По кнопке на панели вызывать скрипт, который открывает это представление командой OpenTable, и затем применять соответствующий фильтр по коду клиента командой LoadFilters (синтаксис см. в документации, он несколько хитрый).
Либо вообще можно обойтись одной строкой кода кнопки, используя команду
Код:
InputFromTable "SQL-запрос"
динамически формировать запрос на выборку товаров, купленных ранее этим клиентом. При этом автоматически отображается таблица с результатами запроса.

_________________
90% ответов на ваши вопросы находятся в руководстве, разделах "Вопросы" и "Видео" на нашем сайте.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11.01.2018 14:56 
Не в сети

Зарегистрирован: 01.02.2011 13:58
Сообщения: 287
С InputFromTable отличная идея, просто, быстро, но с моим кодом работать не хочет. Работает только с такими запросами:
Код:
SELECT ID FROM tblMain WHERE ID > 1000
SELECT * FROM tblMain WHERE ID > 1000

Если кроме ID ещё пытаешься указать поля через запятую, то уже не работает.

По SetFilter перерыл всю справку и сайт программы - ничего не нашел.

Создал отдельное qdftemp представление со своим кодом и через InputFromTable на кнопке сделал вывод
Код:
SELECT * FROM qdftemp WHERE Field = <Field>
. Работает, но база стала жутко притормаживать, т.к. в коде представления qdftemp много select, join, union all.

Лучший вариант с InputFromTable на лету, без предварительного представления, но не работает на сложных запросах...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11.01.2018 16:19 
Не в сети

Зарегистрирован: 15.03.2016 07:21
Сообщения: 33
Откуда: г. Хабаровск
Yuriy писал(а):
По SetFilter перерыл всю справку и сайт программы - ничего не нашел.
Очевидно, речь идёт о команде LoadFilters()
Синтаксис, на самом деле хитрый. Пример использования:
sFilter = "1///Field1/Contains/" & sValue1 & "/$1/OR//Field2/=/" & sValue2 & "/"
LoadFilters(sFilter)
В руководстве содержится небольшая ошибка: после AND или OR должно быть два слэша.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11.01.2018 16:25 
Не в сети

Зарегистрирован: 01.02.2011 13:58
Сообщения: 287
Ткните о каком именно руководстве идет речь? Где почитать?

Как вариант попробовать сделать 2 представления: в первом собрать таблицу из 4-х через UNION ALL, а во втором соединить её с другими через JOIN, тем самым избавлюсь от множества подзапросов SELECT
Второе представление уже выводить по кнопке через InputFromTable с условием отбора

Но конструкция SELECT Field1, Field2 FROM Table в программе все равно останется нерабочей, пока работает только SELECT Field1 FROM Table или SELECT * FROM Table


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12.01.2018 03:53 
Не в сети

Зарегистрирован: 15.03.2016 07:21
Сообщения: 33
Откуда: г. Хабаровск
Yuriy писал(а):
Ткните о каком именно руководстве идет речь? Где почитать?
"Справочное руководство по программе ..." Находится в меню программы "Помощь"->"Справка". Раздел "Руководство администратора"-"Внутренние команды".
Вообще-то, с него нужно начинать изучение программы.
Есть ещё руководство в PDF-файле, ссылка на него размещена на странице программы www.simple-soft.ru/ClientsCount.htm под кнопкой "документация"


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12.01.2018 12:07 
Не в сети

Зарегистрирован: 25.04.2012 10:09
Сообщения: 2044
Откуда: Жуковский, Московская область
ipLVL писал(а):
Yuriy писал(а):
По SetFilter перерыл всю справку и сайт программы - ничего не нашел.
Очевидно, речь идёт о команде LoadFilters()
Да, именно LoadFilters, прошу прощения, исправил, писал ночью с телефона...

_________________
90% ответов на ваши вопросы находятся в руководстве, разделах "Вопросы" и "Видео" на нашем сайте.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB