![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Есть форма заказа. В ней пользователь вводит что-то в Edit-ы,комбобоксы и тд. Одновременно эти данные как запись добавляются в таблицу. На этой же форме кнопка "Показать отчёт".
Надо чтобы в этом отчёте была информация о только что сделанном заказе пользователя (она же - последняя запись в таблице заказов). как это лучше сделать? Нуб в Delphi ![]() ![]() |
#2
|
|||
|
|||
![]() 1 Запомни номер последней записи
2 Вклчючи фильтр в таблице по этому номеру 3 Делай отчет |
#3
|
||||
|
||||
![]() Так заказов же делают много, записей всё больше. Так что номер последней записи всё время будет меняться.
Нуб в Delphi ![]() ![]() |
#4
|
|||
|
|||
![]() Цитата:
Код:
Table1.last;//Переходим на последнюю запись |
#5
|
|||
|
|||
![]() Ну так если отчет делается сразу после добавления записи то запоминай номер в переменную, если не сразу то делай Table1.Last и запоминай номер, потом можешь либо фильтровать либо еще че нить.
|
#6
|
||||
|
||||
![]() То есть я могу сделать так?
QRDBText.DataSet:=Customers.Last; QRDBText.DataField:=LastName; Или в Датасете нужно обязательно указывать запрос? Нуб в Delphi ![]() ![]() |
#7
|
|||
|
|||
![]() Вообще-то, обычно зависит от БД.
Например в оракле есть сиквенсы. Можно просто получит значение из сиквенса и использовать его при вставке записи, соотв. и для отчета. В MS SQL при вставке записи моджно получить значение автоинкрементного поля, т.е. PK. В конце концов для вставки записи можно сделать процедуру и из нее получить ID вставленной записи (практически все СУБД поддердивают получение ID последней вставленной записи в текущей сессии). |
#8
|
||||
|
||||
![]() Спасибо, проблему уже решила. К сожалению, ID в таблице не было. Иначе нашла бы максимальный ID. использовала функцию Last.
Нуб в Delphi ![]() ![]() |