Благодарю. Значения разные добавляются. Я через костыль так сказать решил кое как, посмотрю ваши варианты для более корректного кода.

Здравствуйте, товарищи программисты) Помогите пожалуйста с синтаксисом или пинком в нужную сторону)
1. Как правильно записать условие проверки if (SQLExecute('SELECT id FROM FIO where id=i')) > 0?
    (id="i"      id="+i+"      id="'+i+'"    - не работает, выдает ошибку что в таблице нет поля i)
2. Как правильно потом внести в поле таблицы id_Fio эту же переменную i ?


procedure Nalog_BtnUpdateAll_OnClick (Sender: TObject; var Cancel: boolean);
var
  f_min, f_max, i: integer;

begin
    f_min := SQLExecute('SELECT min(id) FROM FIO');       //выбираем первого абонента
    f_max := SQLExecute('SELECT max(id) FROM FIO');     //выбираем последнего абонента

    for i := f_min to f_max do
    begin
       if (SQLExecute('SELECT id FROM FIO where id=i')) > 0   //проверяем существует ли абонент по данному id
        then begin
        //вносим в журнал записи налогов за новый год
        SQLExecute('INSERT INTO ZHYRNAL(data,id_FIO,zemlya,zarplata,dorogi) VALUES ("'+Nalog.DateTime.sqlDate+'","i","'+Nalog.TarifZemlya.sqlValue+'","'+Nalog.TarifZarplata.sqlValue+'","'+Nalog.TarifDorogi.sqlValue+'")');
       end;
    end;

end;



Подскажите пожалуйста какой синтаксис должен быть?

Суть скрипта в следующем: Создать новую запись в таблице "ZHYRNAL" для всех существующих людей из таблицы "FIO"

Я такое делал через SQL запрос командой обновления записи (но перед этим еще предварительно создавал товар с нулевыми параметрами, если такого нет в таблице):

UPDATE имя таблицы SET
поле1 = {значение 1},
поле2 = {значение  2},
поле3 = {значение  3},
WHERE id_поле = {название товара}

То что надо. СПАСИБО! Справку смотрел, но склеить воедино так и не смог)

Народ подскажите, пожалуйста, синтаксис запроса:
Есть таблица "Портфель" с полями "quantity" и "price".
Мне нужно сделать sql-запрос который заменит данные в этих полях при совпадении id= берется c combobox.
Данные которые нужно внести в указанные поля находятся на форме Portfel в TextBox1 и TextBox2 соответственно.
+ проверить условие, если id=0 то создать новую запись с нужными данными.
-----------------
То есть запрос такой: заменить существующее значение quantity значением из TextBox1 и заменить значение price значением из TextBox2 если id=равно выбранному из списка combobox. Код нужен для кнопки с свойством SQL-запрос.
-----------------
Такой вариант не работает:
INSERT INTO Portfolio
quantity = ('VALUES ('+NewEventForm.quantity_new.Value+')'),
price = ('VALUES ('+NewEventForm.price_new.Value+')')     
WHERE id_Tiker = ('+NewEventForm.tiker.sqlValue+')

Это мне помогло, огромное спасибо!!

Все понял, добавил для поиска в конце где: WHERE

(CASE WHEN '{edit1}' = '' THEN 1=1 ELSE (SELECT model FROM b WHERE b.id=c.id_b1) LIKE '%{edit1}%' END) 
(CASE WHEN '{edit1}' = '' THEN 1=1 ELSE (SELECT number FROM b WHERE b.id=c.id_b1) LIKE '%{edit1}%' END) 
(CASE WHEN '{edit1}' = '' THEN 1=1 ELSE (SELECT type FROM b WHERE b.id=c.id_b1) LIKE '%{edit1}%' END) 

Остался такой нюанс небольшой: можно ли выводить результаты по этому поиску с сортировкой по конкретному столбцу? Сейчас в таблице сортировка по второму столбцу, а когда делаю поиск то сортирует по первому.

Теперь выводит в Grid как надо, но вот поиск работает только для "первого рабочего места", а вот "второе рабочее место" в поиске не участвует (то есть по второму внешнему ключу не ищет)...

Вопрос актуальный, может кто поможет хотя б по одному полю как сформировать SQL-запрос по моему примеру, дальше по аналогии думаю разберусь.

Ребята, а как теперь SQL поиск создать по этим вычислительным полям?
У меня в проекте по одному полю ищет данные по нескольким полям разных таблиц.
Я использовал запрос:

SELECT поле1, поле2, поле3
FROM Table1
LEFT OUTER JOIN Table2 ON Table2.id=Table1.id_Table2 

1. Но как использовать в SQL-запросе вычислительное "поле2" (или как заменить это поле другим запросом)?
2. Как все это сделать если у меня  одинаковые название полей под разными внешними ключами?
Прикрепляю проект, может кто разберется и покажет пример))?  Задание в прикрепленном проекте
https://cloud.mail.ru/public/4btK/7YFY9cmzN

ВООООООООО, это оно... спасибо!
Пипец сложно когда не знаешь синтаксиса(((

Давайте рассмотрим на прошлом примере: как вывести в гл.таблицу модель принтера на "раб. месте 2" ?
Я убрал поле "модель" принтера, и вместо него сделал выпадающий список.
https://cloud.mail.ru/public/GbLK/5dKXqd5w7

Удалось сделать только испотьзуя в вычислительном поле:
select
(case when id = 5 then 'samsung' when id =4 than 'Epson' end)
From table4

Но понимаю что это не самое оптимальное решение и при большом количестве данных все это будет затруднительно, да и если в этот id забьют другую модель то придется исправлять код.
Какие еще варианты здесь можно применить?

То что надо. Спасибо!!!
Одно не могу решить: если взять что "марка принтера" выбирается из еще одной таблицы словаря. Как в этом случае быть? Как сформировать тогда "Вычисляемое поле". Перебрал разные варианты, но что то никак.... HELP!

Возможно ли вывести в Grid данные при таких условиях? Пример:
---------------------------------------------
Таблица1: (является словарем)
1. "№ кабинета"
---------------------------------------------
Таблица2: (является словарем)
1. "Марка принтера",
2. "Зав. № принтера",
3. "Тип принтера".
--------------------------------------------
Таблица3:
1. "№ кабинета"                         (связь с табл.1 - поле1)
2. "Принтер на раб. месте1"     (связь с табл.2 - поле 1)
3. "Принтер на раб. месте2"     (связь с табл.2 - поле 1)
..............................................................................................
Должно получится на выходе:
--------------------------------------------------------------------------------------------------------------------------------------------
№ кабинета | Принтер на раб.месте1 | Зав.№ принтера | Принтер на раб.месте2 | Зав.№ принтера |
--------------------------------------------------------------------------------------------------------------------------------------------
302               | Samsung                         | 555444                 | Epson                              | 456789                |
-------------------------------------------------------------------------------------------------------------------------------------------
Как правильно в "таблицу3" забить в "поле2" и "поле3" данные с "таблицы2"?
Как все это вывести в Grid? Выводится либо только ID (вместо Epson), либо одинаковые значения (если делать только одно поле связи), либо одно из значений. Возможно ли это в принципе? Или есть другая схема заполнения.

Derek +++++ все как надо! Блаодарю!!!

Derek, спасибо, это оно!
А что на счет первого вопроса? Есть варианты оформить выравнивания текста и заголовков по всей таблице по центру (после SQL запроса)?
А то результат плохо читается/воспринимается((

Еще вопрос как сделать чтоб чек бокс  показывал не "0" или "1", а "да" или "нет"?
Где то видел решения, но не могу найти по поиску...

Уважаемые разработчики, подскажите, пожалуйста:
1. есть ли возможность выровнять заголовки и само содержание таблицы по центру, при выводе результатов по  SQL запросу? Выравнивание в Grid у меня идет слева, а хочется по центру.
2. После SQL запроса и вывода результатов в Grid, при двойном щелчке по этой записи не удается ее редактировать.
    Выскакивает сообщение "Не выбрана запись для редактирования" Перебрал уже все что мог, делал по аналогии одного выставленного здесь проекта, но все равно не получается?

Совсем не догоняю.
Не нашел нигде больше такого выражения(. Можно поподробнее?
Если есть "таблица1" с столбцами "поле1", "поле2" и "поле3"  Как будет выглядеть запрос по поиску в  "Edit1" и вывод этого в "Grid1" 

SELECT
таблица1.поле1,
таблица1.поле2,
таблица1.поле3

FROM
таблица1

WHERE
(CASE WHEN '{Edit1}' = '' THEN 1=1 ELSE таблица1.поле1 LIKE '{Edit1}' END) OR
(CASE WHEN '{Edit1}' = '' THEN 1=1 ELSE таблица1.поле2 LIKE '{Edit1}' END) OR
(CASE WHEN '{Edit1}' = '' THEN 1=1 ELSE таблица1.поле3 LIKE '{Edit1}' END)

На такой синтаксис у меня ругается программа. Пишет near 'From' syntaxis error
Да и как вывести все это в Grid1? А? Помогите плиз,

Да, так скидка присутствует, спасибо!

Благодарю!!! Кажется я стал немного понимать))
Будет правильно следующие условие:

if (Date - StrToDateTime(FrmSotrudniki.TableGrid2.Cells[4,i])  <= 7)  then

Тогда еще вопрос: какое условие записать чтобы строки закрашивались в зависимости от дня.
1) Например, парные числа одним цветов, непарные - другим. К сожалению не нашел функцию остаток от деления.
2) Если дата в следующей строке отличается от предыдущей строки - то менять цвет. например первые две строки 15декабря - цвет 1, следующие 5 строк 16 декабря - цвет2, потом 3строки 17 ноября - цвет1 и т.д. Что б видеть разницу по дням.

Мне не удалось реализовать ни одним из способов, решил сделать третий более легкий)) Если кто знает как решить эти - думаю они пригодятся!!!

Мне показывается без скидки

Здравствуйте! Помогите решить пару вопросов:
1. А как закрасить цветом не ячейку а всю строку?
2. Как сделать такое условие "если дата в ячейке меньше текущей даты, например, на 1 день, или на 7 дней"?
Предыдущие решения не подошли(

Что посоветуете почитать что б хотя б немного разбираться в скриптах в вашем продукте (На каком языке пишутся скрипты здесь и какие переменные используются для программирования)?
Заранее благодарю!

Все скидка 50% закончилась?