-
Имеется программа "Прайс-лист" на Delphi. пользователь выбирает товар для покупки из базы данных. Как сделать отчет, содержащий выбранные строки? Нашел, как создать отчет с помощью FastReport, но только всей базы.
-
-
FastReport, видимо, имеет какой-то DataSet/ датасорс, на основании которого и строится отчет
Вот и надо в этот DS / ДС положить выбранные строки
а так круто было б :)
> Нашел, как создать отчет с помощью FastReport, но только
> всей базы.
Кинул FastReport, он тебе все 12 000 таблиц в какой-то отчет загнал...
-
> [0] prygun (10.01.12 12:56)
> Нашел, как создать отчет с помощью FastReport, но только всей базы
Для начала надо вникнуть в идеологию инструмента. Способов несколько, смотря что надо.
-
> но только всей базы.
"Быть того не может" (С)
Фильтр, select, слияние - наше все.
-
Проблема решена.
> FastReport, видимо, имеет какой-то DataSet/ датасорс, на
> основании которого и строится отчет
> Вот и надо в этот DS / ДС положить выбранные строки
Спасибо за помощь! Создал копию исходной таблицы с пустыми полями, куда и копировал выбранное. Отлично все работает.
-
пипец.
А в where ограничение прописать не судьба?
-
sql не используется в программе.
-
> sql не используется в программе.
ээээ... Не понял. А как же
> Создал копию исходной таблицы с пустыми полями, куда и
> копировал выбранное.
????
-
Access Database. В Microsoft Office создал таблицу. Копировал записи с использованием свойств и методов самих компонентов ADOTable.
-
> компонентов ADOTable.
А говоришь sql нет. Есть, но примитивный, select * from table. А тебе надо взять TADODataSet, прописать ему CommandText select * from table where .... и уже его подавать в FR.
-
procedure TMainForm.Action5Execute(Sender: TObject);
var i,lCount: integer;
begin
DataModule1.ReportTable.Edit;
DataModule1.ReportTable.Insert;
lCount:=DataModule1.PriceTable.FieldCount;
for i:=1 to lCount-1 do
if (not DataModule1.PriceTable.Fields[i].IsNull) and (DataModule1.PriceTable.Fields[i].CanModify) then
DataModule1.ReportTable.FieldByName(DataModule1.PriceTable.Fields[i].FieldName). Assign(DataModule1.PriceTable.Fields[i]);
end;
Здесь никаким sql и не пахнет. Если не прав, поправьте.
-
> Здесь никаким sql и не пахнет. Если не прав, поправьте.
Здесь вовсю воняет примитивным TTable, который внутри себя содержит примитивный Select * from Table.
Компонент данный сделан для лентяев. Сделан через жопу. Более-менее обоснован для Парадокса.
Для всего остального есть православный TDataSet.
-
sql вредоносный язык. Кто его выучил, тот становится угрюмым, нудным и злым.
Как Ega23 :)
-
> Кто его выучил, тот становится
..гуру, а вот кто учит - то по тексту.
-
Я могу согласиться с тем, что TADOTable примитивный компонент, но тем не менее для простейших программ уровня курсового проекта среднего специального учебного заведения он подходит более чем полностью.
-
> Как сделать отчет, содержащий выбранные строки?
Как видно из вопроса - не подходит.
Впрочем, можешь продолжать упорствовать. Мне же лучше - конкуренция на рынке меньше.
-
В FastReport есть компонент для выборки перед построением отчета. В нем пишешь SQL с нужными критериями, а уже по ним будет построен отчет
-
> Я могу согласиться с тем, что TADOTable примитивный компонент
а вот это зря, он просто искусственно "приземлен, до уровня...", а вообще это тот же датасет, и значит равен по сложности... ее же не убрали, а урезали/спрятали.
> он подходит более чем полностью.
подходит подходит... но только и в нем без SQL не обойтись, а ты так не не умеешь.
да и вообще с датасетом проще.
> учебного заведения
не повод, что учишься на медика, стремится гланды только через задницу вырезать.
> В нем пишешь SQL с нужными критериями
какая разница где? если именно против него, а не места, у автора темы предубеждение.
-
> Мне же лучше - конкуренция на рынке меньше.
Sorry, Ega32, но мы не конкуренты. Я живу в Беларуси и работать на россиян и прочих иностранцев нет никакого желания.