переход на последнию запись в таблице

отредактировано 17:31 Раздел: FastReport 3.0
Как сделать переход на последнию запись в таблице?

Комментарии

  • LexLex
    отредактировано 17:31
    Для чего это нужно?
    Если для того чтобы пропустить часть
    записей при печате отчета то примерно так:
       if bla-bla-bla then
        while not MasterBand1.DataSet.Eof do
          MasterBand1.DataSet.Next
    

    Но лучше все же объясни для чего тебе это надо.
  • отредактировано 17:31
    Lex написал:
    Но лучше все же объясни для чего тебе это надо.
    Есть база в которую постоянно добавляют записи, надо отчет формировать по последней! т.е по последниму номеру!
  • Andrew_ShAndrew_Sh г.Минск
    отредактировано 17:31
    nIKab написал:
    nIKab написал:
    Но лучше все же объясни для чего тебе это надо.
    Есть база в которую постоянно добавляют записи, надо отчет формировать по последней! т.е по последниму номеру!
    Выбирайте запросом запись с максимальным номером.
    SELECT * 
       FROM tableName
     WHERE id=(SELECT MAX(id) FROM tableName);
    

  • отредактировано 17:31
    Andrew_Sh написал:
    Выбирайте запросом запись с максимальным номером.
    SELECT * 
       FROM tableName
     WHERE id=(SELECT MAX(id) FROM tableName);
    
    У меня в таблице есть поле номер квитанции вот и надо сделать переход к этой записи и формировать отчет!!!
  • LexLex
    отредактировано 17:31
    Ну так и формируй отчет всего по одной записи полученный запросом

    SELECT * 
      FROM tableName
    WHERE NomerKvitancii = :NomerKvitancii
    

    :NomerKvitancii - параметр TADOQuery который нужно задавать перед запуском отчета (точно не помню, но вроде в DBE - ной Query параметры задаються также) и все.
  • отредактировано 17:31
    у меня есть:
    1. Edit1 поле в котором задаётся номер квитанции
    2. Button1 после клика должен формироваться отчёт.
    И если можно по подробней ;)
  • отредактировано 17:31
    Lex написал:
    Ну так и формируй отчет всего по одной записи полученный запросом

    SELECT * 
      FROM tableName
    WHERE NomerKvitancii = :NomerKvitancii
    

    :NomerKvitancii - параметр TADOQuery который нужно задавать перед запуском отчета (точно не помню, но вроде в DBE - ной Query параметры задаються также) и все.
    Работает спасибо!
  • LexLex
    отредактировано October 2005
    1. Тебе нужно иметь на форме компонент типа TQuery
    в нем пишешь следующий текст запроса (свойство SQL)
    Select * 
      From tableName
    Where FieldName = :myParam
    
    tableName - имя таблицы в базе данных
    FieldName - поле в котором храниьтся номер квитанции

    2. У frxDBDataset в свойстве DataSet указываешь свой компонет типа TQuery (Например MyQuery).

    3. При клике на кнопке пишешь примерно такой обработчик
    MyQuery.Close;
    MyQuery.Params.ParamByName('myParam').Value := MyEdit.Text;
    MyQuery.Open;
    frxReport.PrepareReport;
    frxReport.ShowPreparedReport;
    

    Ну как бы и все
  • отредактировано 17:31
    Lex написал:
    1. Тебе нужно иметь на форме компонент типа TQuery
    в нем пишешь следующий текст запроса (свойство SQL)
    Select * 
      From tableName
    Where FieldName = :myParam
    
    tableName - имя таблицы в базе данных
    FieldName - поле в котором храниьтся номер квитанции

    2. У frxDBDataset в свойстве DataSet указываешь свой компонет типа TQuery (Например MyQuery).

    3. При клике на кнопке пишешь примерно такой обработчик
    MyQuery.Close;
    MyQuery.Params.ParamByName('myParam').Value := MyEdit.Text;
    MyQuery.Open;
    frxReport.PrepareReport;
    frxReport.ShowPreparedReport;
    

    Ну как бы и все
    Вылетает с ошибкой: class EDBEngineError with message 'General SQL error. Maximum user count exceeded.'
  • отредактировано 17:31
    nIKab написал:
    nIKab написал:
    1. Тебе нужно иметь на форме компонент типа TQuery
    в нем пишешь следующий текст запроса (свойство SQL)
    Select * 
      From tableName
    Where FieldName = :myParam
    
    tableName - имя таблицы в базе данных
    FieldName - поле в котором храниьтся номер квитанции

    2. У frxDBDataset в свойстве DataSet указываешь свой компонет типа TQuery (Например MyQuery).

    3. При клике на кнопке пишешь примерно такой обработчик
    MyQuery.Close;
    MyQuery.Params.ParamByName('myParam').Value := MyEdit.Text;
    MyQuery.Open;
    frxReport.PrepareReport;
    frxReport.ShowPreparedReport;
    

    Ну как бы и все
    Вылетает с ошибкой: class EDBEngineError with message 'General SQL error. Maximum user count exceeded.'
    Всё!! но фрмирует отчёт всё равно по первой записи ;)
  • отредактировано 17:31
    frDataSet.RangeBegin = rbCurent;
    frDataSet.RangeEnd = reCurent;
    MyQuery.Close;
    MyQuery.Params.ParamByName('myParam').Value := MyEdit.Text;
    MyQuery.Open;
    MyQuery.Last;
    frxReport.PrepareReport;
    frxReport.ShowPreparedReport;
  • отредактировано 17:31
    написал:
    frDataSet.RangeBegin = rbCurent;
    frDataSet.RangeEnd = reCurent;
    MyQuery.Close;
    MyQuery.Params.ParamByName('myParam').Value := MyEdit.Text;
    MyQuery.Open;
    MyQuery.Last;
    frxReport.PrepareReport;
    frxReport.ShowPreparedReport;
    frDataSet где взять?
  • отредактировано 17:31
    nIKab написал:
    nIKab написал:
    frDataSet.RangeBegin = rbCurent;
    frDataSet.RangeEnd = reCurent;
    MyQuery.Close;
    MyQuery.Params.ParamByName('myParam').Value := MyEdit.Text;
    MyQuery.Open;
    MyQuery.Last;
    frxReport.PrepareReport;
    frxReport.ShowPreparedReport;
    всё равно по последней! ;)
  • отредактировано 17:31
    А тебе чего надо? Просил же по последней...
  • отредактировано 17:31
    написал:
    А тебе чего надо? Просил же по последней...
    сори ошибочка по последней! ;)
  • отредактировано 17:31
    Всё рвботает всем спасибо! ;)

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.