Спасибо.

Хочу написать условие, на одинаковые даты и меньше текущей...

sDate : string = FormatDateTime('yyyy-mm-dd',frmAddNote.DateTimePicker1.DateTime);
begin
    //Проверка на заполнение полей
    if (frmAddNote.ComboBox1.Text='Ожидание') and (Date - StrToDateTime(frmAddNote.DateTimePicker1.DateTime) <=0) then ShowHint(frmAddNote.DateTimePicker1, 'Обязательное поле') else

Мне надо окрасить строку, но при определенных условиях, а именно определенного значения в поле строки, но эту строку показывать не надо.
Скрипт окраски использую такой

If (frmMain.TableGrid1.Cells[8,i] ='Повтор') then
        begin
            for Ii:=0 to Cc do frmMain.TableGrid1.Cell[Ii,i].Color := $1ff5fc;
        end;

спасибо

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

206

(3 replies, posted in Russian)

У меня работает так

if frmNote.Memo1.Text = '' then
    begin
        frmNote.Button9.Enabled := True;
        frmNote.Button10.Enabled := False
    end else
    if frmNote.Memo1.Text <> '' then
    begin
        frmNote.Button9.Enabled := False;
        frmNote.Button10.Enabled := True
    end;

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

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

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

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

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

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

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

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

сп.

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

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;

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

сп

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

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

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

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;

Спасибо, Derek.

Использую такой скрипт

//Переход на след поле кн. Enter при условие свойств кнопок Default = False
    if Key=13 then frmNew.SetFocusNextControl;

При первом нажатие на кл. "Ввод" звучит сигнал предупреждения.
У меня вопрос, как убрать звуковой сигнал или переместить его звучание, когда TabOrder начинается сначала.

Сделал обновление по строкам, т.е. обновление по всем полям по заданному id главной таблицы. Спасибо.

так я получаю правильное слово из базы, но надо получить id

SQLEXecute('SELECT name FROM tech LEFT OUTER JOIN request ON tech.id=request.id_tech WHERE request.id='+frmMain.TableGrid1.sqlValue);
frmNote.ComboBox2.dbItemID := SQLEXecute('SELECT id FROM tech WHERE id='+frmMain.TableGrid1.sqlValue);

Почти работает, но id не точное, т.е. без изменений произвольно другие значения устанавливает...

имеет какую связь

request.id_tech

Спасибо, разобрался...

frmNote.Edit7.Text := SQLEXecute('SELECT model FROM request WHERE id='+frmMain.TableGrid1.sqlValue);

Поспешил малек..., а с комбобоксом пока не получается...

Т.е. открываешь запись, там жмешь на изменить с поле и сомбы снимается enable=false и начинаешь редактировать. А вот если нажать отмену, т.е. enable=false, чтоб предыдущее состояние вернулось. А то получается, что если произвести изменения без сохранение, то в ячейках остаются изменения и только после перезагрузки формы просмотра все возвращается на место.
PS не хотелось бы дергать форму просмотра (пере вызывать)...

Спасибо.

Я хочу упразднить ввод данных, которые не требуют редактирования, а являются само собой разумеющиеся, т.е. вид (принадлежность) клиента (физ, орг). Так вот хочется ввести в таблицу БД данные для комбобокса (физ, орг), как по умолчанию в чистой базе, чтоб не создавать форму в которой придется вводить эти данные...
При использование

SQLExecute('INSERT INTO groupN (setGroup) VALUES ("123")');

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

Подскажите,
Надо пользоваться скриптом дубликатов?
Или есть более просто без id

Потому что обычное в несение через скрипт, при каждой загрузке программы, добавляет повторное значение в БД.