Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2008, 18:43   #111
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
А что же здесь происходит:
GROUP BY Works.Work, Readers.Name, Streets.Street
По какому полю группировка идёт? Я что-то не совсем понимаю...
Последовательно, сначала по Works.Work, внутри этой группы - по Readers.Name и т.д.
SQL1.ZIP
mihali4 вне форума Ответить с цитированием
Старый 30.11.2008, 18:56   #112
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Спасибо за справку...

Я всё сделал. Всё заработало. Вот у меня вопрос ещё какой...

Как в КвикРепорте отобразить таблицу, но вот как раз, чтобы там группировка видна была?
Вложения
Тип файла: rar db.rar (98.7 Кб, 36 просмотров)

Последний раз редактировалось Arkuz; 30.11.2008 в 18:59.
Arkuz вне форума Ответить с цитированием
Старый 30.11.2008, 22:00   #113
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Как в КвикРепорте отобразить таблицу, но вот как раз, чтобы там группировка видна была?
???
Он отображает то, что ему выдает ReportDolgQuery, а в нем записи сгруппированы...
mihali4 вне форума Ответить с цитированием
Старый 01.12.2008, 01:14   #114
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Вот что получается при выводе в отчёте variant_1.jpg
Но разве когда группируешь это не должно выглядеть примерно так variant_2.jpg ???

И вот ещё вопрос...
Второй отчёт. Произвольный. Кляуза на работу о должниках. Как это сделать? В смысле реализовать как? Что-то фантазии не хватает...

Типа выбрал должника в таблице, потом батон щёлкнул и появилась жалобная записка с фамилией должника и адресованная по месту работы. Что-то вроде этого? Или может ещё как это лучше можно сделать?
Изображения
Тип файла: jpg variant_1.jpg (24.0 Кб, 151 просмотров)
Тип файла: jpg variant_2.jpg (23.2 Кб, 152 просмотров)

Последний раз редактировалось Arkuz; 01.12.2008 в 01:29.
Arkuz вне форума Ответить с цитированием
Старый 01.12.2008, 11:35   #115
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

1. Не понял вопроса. Вот что у меня получилось в вашей программе:
Snap1.jpg
Что именно вам не нравится?
2. Ну-у... Кляуз мне тоже не доводилось изобретать
Вам нужно спросить у человека, знакомого с этим, в какой форме это дело преподносится, а уж технический вопрос мы с вами решим.
Собственно, я не наблюдаю трудностей. Выборка у вас есть - подставляем в нужное место текста кляузы текст нужного поля и все...
mihali4 вне форума Ответить с цитированием
Старый 01.12.2008, 16:09   #116
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Цитата:
Что именно вам не нравится?
Ну я просто вижу список должников...
А как мне убедиться, что этот список отгруппирован?

Хотя я сделал запрос без группировки, должники просто выбраны и всё, а когда сгруппировал, то результат получился такой же, как если бы я упорядочил по месту работы. Или оно так и должно быть?

Смотрите 2 варианта с группоровкой и без...
Изображения
Тип файла: jpg S_grup.JPG (19.1 Кб, 159 просмотров)
Тип файла: jpg Bez_grup.JPG (23.4 Кб, 146 просмотров)
Arkuz вне форума Ответить с цитированием
Старый 01.12.2008, 21:30   #117
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Ну я просто вижу список должников...
А как мне убедиться, что этот список отгруппирован?
Хотя я сделал запрос без группировки
То есть как это "без группировки"?
Вот ваш текст SQL:
Цитата:
object ReportDolgQuery: TADOQuery
Connection = ADOConnection1
CursorType = ctStatic
DataSource = DistribSource
Parameters = <>
SQL.Strings = (
'SELECT Readers.Name, Streets.Street, Readers.NumberOfHouse,Work' +
's.Work'
'FROM Distribution, Readers, Streets, Works WHERE (Distribution.' +
'DateOfReal is null'
'AND Readers.AddressID=Streets.AddressID '
'AND Readers.WorkID=Works.WorkID'
'AND Readers.ReaderID=Distribution.Reade rID)'
'GROUP BY Works.Work, Readers.Name, Streets.Street, Readers.NumberOfHouse')
Цитата:
Или оно так и должно быть?
У вас слишком мало данных. И вносили вы их, видимо, нечаянно сгруппировав...

Последний раз редактировалось mihali4; 02.12.2008 в 00:01.
mihali4 вне форума Ответить с цитированием
Старый 01.12.2008, 22:09   #118
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Я вносил больше данных... Складывается впечатление, что в отчёте я получаю просто список записей упорядоченных по полу "Место работы".
Так и должно быть?

Сами попробуйте...
Arkuz вне форума Ответить с цитированием
Старый 02.12.2008, 00:05   #119
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от Arkuz Посмотреть сообщение
Я вносил больше данных... Складывается впечатление, что в отчёте я получаю просто список записей упорядоченных по полю "Место работы".
Так и должно быть?
А как вы хотели? Не только упорядоченных, но и сгруппированных.
По-моему, вы просто путаете сортировку и группировку.
Попробуйте вместо GROUP BY поставить ORDER BY.
Разница заметна?
Почитайте литературу по SQL-запросам - что для чего используется.

Последний раз редактировалось mihali4; 13.02.2009 в 23:48.
mihali4 вне форума Ответить с цитированием
Старый 03.12.2008, 00:28   #120
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Вот результат 1.jpg на запрос
Код:
SELECT  DISTINCT Readers.Name, Streets.Street, Readers.NumberOfHouse,Works.Work
FROM Distribution, Readers, Streets, Works  WHERE Distribution.DateOfReal is null
AND Readers.AddressID=Streets.AddressID
AND Readers.WorkID=Works.WorkID
AND Readers.ReaderID=Distribution.ReaderID
GROUP BY Works.Work, Readers.Name, Streets.Street, Readers.NumberOfHouse
Из запроса видно, что группировка есть, но на принтскрине я вижу беспорядочные записи, ГРУППИРОВКИ, как не крути не ВИЖУ... КАК ОНА ВЫГЛЯДЕТЬ ДОЛЖНА?
Докажите мне, что она здесь есть? Или визуально это и не видно?


Вот результат 2.jpg на запрос
Код:
SELECT  DISTINCT Readers.Name, Streets.Street, Readers.NumberOfHouse,Works.Work
FROM Distribution, Readers, Streets, Works  WHERE Distribution.DateOfReal is null
AND Readers.AddressID=Streets.AddressID
AND Readers.WorkID=Works.WorkID
AND Readers.ReaderID=Distribution.ReaderID
ORDER BY Works.Work, Readers.Name, Streets.Street, Readers.NumberOfHouse
Здесь СОРТИРОВКУ ВИЖУ...

Я уже спрашивал на форуме, но так вразумительного ответа не получил...

Есть 2 таблицы...

Первая.
1. ФИО
2. IDАдрес

Вторая.
1. IDАдрес (ключ. поле)
2. Название улицы

Соединяем IDАдрес первой таблицы с IDАдрес второй таблицы...

В ADOTable вывожу первую таблицу, а точнее только поле ФИО и делаю лукаповское поле, которое будет подставляться из Второй таблицы...

Т.е. так выглядит отображение в гриде:
Фио ____Называние улицы
Пупкин ____Советская
Иванов ____Быкова

Можно ли каким-нибудь образом сделать упорядочивание в ADOTable по полю, которое подставляется из другой таблицы?
Ну или упорядочивание по лукаповскому полю?

Очень нужно...
Изображения
Тип файла: jpg 1.JPG (19.7 Кб, 152 просмотров)
Тип файла: jpg 2.JPG (19.9 Кб, 156 просмотров)

Последний раз редактировалось mihali4; 13.02.2009 в 23:54. Причина: Объединение постов
Arkuz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
библиотека Free Internet Titan123 Свободное общение 7 20.08.2008 15:19
Библиотека для Delphi Irat Помощь студентам 2 12.02.2008 20:13
Моя библиотека mochaliviy Свободное общение 3 11.01.2008 13:23
библиотека TK и Ruby kpp2 Ruby 5 22.12.2007 02:02
Стандартная библиотека... Sota Общие вопросы C/C++ 3 17.07.2007 19:18