| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Вывод в отчет текущей записи |
| Автор: VanHelsing 11.3.2010, 18:35 |
| Использую систему отчета FastReport. В отчет необходимо выводить в отчет только текущую запись. Не знаю как это сделать. Подскажите пожалуйста! |
| Автор: Данкинг 11.3.2010, 18:43 |
| Сделай запрос на эту запись, и из запроса уже выводи. |
| Автор: VanHelsing 11.3.2010, 18:44 |
| Интересно, а проще никак нельзя? |
| Автор: Данкинг 11.3.2010, 19:07 | ||
Вообще, действительно, можно и проще. Просто кинь на отчёт текстовые поля, их значения бери из фастовых переменных. А значения этих переменных, соответственно, вставляй из полей датасета по
|
| Автор: VanHelsing 11.3.2010, 19:17 | ||
Пожалуйста приведи пример как это сделать, не могу разобраться. |
| Автор: Данкинг 11.3.2010, 19:22 |
| VanHelsing, вот http://forum.vingrad.ru/index.php?showtopic=244473&view=findpost&p=1762140 ссылки снизу, там я даже мануал в картинках ваял. Впрочем, картинки уже не грузятся, но, надеюсь, по описанию поймёшь. |
| Автор: Deniz 12.3.2010, 07:46 | ||
| VanHelsing, есть еще несколько вариантов. 1. Клонировать запись в ClientDataSet 2. Временно поставить фильтр на DataSet, чтобы была только эта запись. Фаст только ее и покажет. 3. Передавать переменные в отчет по
|
| Автор: Данкинг 12.3.2010, 10:39 | ||
Ну так а я как сказал? |
| Автор: pseud 12.3.2010, 11:04 | ||
а ты сказал пользоваться переменными. нет, я ими, конечно, пользуюсь, но это немного более сложные отчеты )) а вот, что я имею ввиду:
|
| Автор: Данкинг 12.3.2010, 12:30 |
Ну, может быть, так и проще, просто я привык с переменными. Как меня научили - так и делаю с тех пор. |
| Автор: Akella 12.3.2010, 17:39 |
А можно по русски рассказать, что такое текущая запись? А мои телепатические возможности в пятницу не хотят работать. |
| Автор: Alexeis 12.3.2010, 17:48 | ||
Скорее всего последнюю добавленную. |
| Автор: VanHelsing 12.3.2010, 18:08 | ||
Это та запись на которой находится курсор(объясняю я плохо, т.к. с БД только знакомлюсь заранее извиняюсь). |
| Автор: Данкинг 12.3.2010, 18:09 |
Видимо, на которой стоишь в датасете - ту и выводить. Я так понял. Добавлено через 20 секунд Я угадал! |
| Автор: pseud 12.3.2010, 18:20 | ||
а по существу? мои содрагания возымели пользу? |
| Автор: VanHelsing 12.3.2010, 19:48 | ||
Да, спасибо большое - получилось. Как я понял по для вывода текущей записи существует два способа: 1. Это создание дополнительных переменных(или например объектов типа dbtext) и передавать предлагаемыми способами в отчет. 2. Использовать компонент Query и из получившейся таблицы генерировать отчет. |
| Автор: Данкинг 12.3.2010, 20:00 |
| VanHelsing, по-моему, ты не совсем верно понял; посмотри ещё раз код, который pseud написал. |
| Автор: Akella 13.3.2010, 15:27 |
| Я бы использовал ещё один набор данных, в который передавал условие: where id = .... |
| Автор: VanHelsing 13.3.2010, 15:33 | ||
Как я понимаю одну и ту же БД используют несколько компонентов доступа. Например, TTable и TQuery? |
| Автор: Данкинг 13.3.2010, 18:05 | ||||
Я примерно то же и написал в первом своём посте.
Да, а к чему такой вопрос? |
| Автор: Deniz 15.3.2010, 06:42 | ||||
Чем не нравятся мои варианты: 1. Клонировать запись в ClientDataSet 2. Временно поставить фильтр на DataSet, чтобы была только эта запись. Фаст только ее и покажет. Второй вариант, на мой взгляд, более подходящий, потому как не требует дополнительного кодинга.
|
| Автор: former 17.3.2010, 15:37 |
| Как много вариантов, а правильного нет. Устанавливаем следующие значения в frxDBDataset: ![]() и все. |