Topic: Подскажите, как написать условие на значение из таблицы

Подскажите, как написать условие на значение из таблицы, т.е. надо проверить таблицу на совпадения и если есть выполнить условие.

Попробовал так,

var
    i, cR : integer;
begin
    cR := frmNote.TableGrid1.RowCount;
begin
        frmNote.TableGrid1.BeginUpdate;
        for i := 0 to cR do
        begin
            If (frmNote.TableGrid1.Cells[1,i] ='Выдано') then frmNote.Button10.Enabled := False;
        end;
        frmNote.TableGrid1.EndUpdate;
    end;
end;

Re: Подскажите, как написать условие на значение из таблицы

Да и возможно использовать одни и те же переменные в процедуре в двух циклах...

Re: Подскажите, как написать условие на значение из таблицы

убрал лишнее и одну ошибку

var
    i, cR : integer;
begin
        cR := frmNote.TableGrid1.RowCount-1;

        for i := 0 to cR do
        begin
            If (frmNote.TableGrid1.Cells[1,i] ='Выдано') then frmNote.Button10.Enabled := False;
        end;

end;
Dmitry.

Re: Подскажите, как написать условие на значение из таблицы

vit007 wrote:

Да и возможно использовать одни и те же переменные в процедуре в двух циклах...

Да.

Dmitry.

Re: Подскажите, как написать условие на значение из таблицы

сп

Re: Подскажите, как написать условие на значение из таблицы

Подскажите, а как в последнем значении таблицы найти (искать) сравнение...

begin
        for i := 0 to cR do
        begin
            If (frmNote.TableGrid1.Cells[1,i] ='Повтор') and (frmNote.TableGrid1.dbItemID = Last_Insert_id) then
            begin
                frmNote.Button16.Enabled := False;
            end;
        end;
    end;

Так не работает...

Re: Подскажите, как написать условие на значение из таблицы

        for i := 0 to cR do
        begin
            If (frmNote.TableGrid1.Cells[1,i] ='Повтор') and (frmNote.TableGrid1.dbIndexToID(i)  = Last_Insert_id) then
            begin
                frmNote.Button16.Enabled := False;
            end;
        end;
Dmitry.

Re: Подскажите, как написать условие на значение из таблицы

сп.

Re: Подскажите, как написать условие на значение из таблицы

Дмитрий, а я могу написать такое выражение

(frmNote.TableGrid1.dbIndexToID(i)  = (Last_Insert_id - 1))

Чтоб просмотреть предпоследнее значение...

Re: Подскажите, как написать условие на значение из таблицы

Важно понимать, что Last_Insert_id возвращает id последней добавленной записи, но нет возможности узнать, какой таблице принадлежит полученный id, Last_Insert_id используют непосредственно сразу после добавления записи, потому что, только в этом случае мы можем быть уверены, какой таблице принадлежит id.


Поэтому в вашем случае использование данной функции будет неправильным, т.к. с большой вероятностью скрипт будет работать неправильно.


Лучше опишите, какую именно проблему вы пытаетесь решить?

Dmitry.

Re: Подскажите, как написать условие на значение из таблицы

У меня есть форма просмотра заказа, где куча кнопок... Сделал так, чтоб дважды на кнопку не нажать. Соответственно, после нажатия формируется надпись в таблицу в форме frmNote.TableGrid1.

В прямом проходе все, вроде работает, т.е. пришла заявка, выполнено, выдано...
Теперь стоит задача ввести кнопку повтор, чтоб вернутся к кнопке выполнено...
И вроде все хорошо, но, я предусмотрел клавишу редактирования, которая вписывает в таблицу слово "редактирование", и оно по сути становится последним... И при перезагрузке формы просмотра может начаться каламбур, т.к. привязка активирования тех или иных кнопок завязаны на последние слова в таблице. Если делать просто поиск наличия совпадения, то это не предусматривает нескольких повторных случаев. Вот.

Наверно, остается делать через select... по главной таблице.

Re: Подскажите, как написать условие на значение из таблицы

Думаю создать поле в которое будет вносится только необходимые данные, и оно будет скрытым...

Re: Подскажите, как написать условие на значение из таблицы

К сожалению я не понял, какую проблемы вы пытаетесь решить.

Dmitry.