51 (edited by delphinsl 2015-08-22 09:37:12)

Re: Прошу помощи знатоков SQL

В комбобоксе есть список из другой таблицы. Надо реализовать, чтобы по выбранному в комбобоксе логину в журнале учета работы отображались только его записи. Эти две таблицы не связаны. Одна таблица с логинами и порядком допуска в базу, вторая таблица с учетом работы в ней только логин записывается. Надо как-то сравнить логин из комбобокса с логином и за таблицы logs.login1={combobox1}. Ошибку не выдает но и ничего не сортирует. Помогите!


select
logs.id,
logs.login1,
logs.date,
logs.operation,
logs.num_GK,
logs.num_dog

from logs

where  logs.login1={combobox1}

order by logs.id

Re: Прошу помощи знатоков SQL

delphinsl
{combobox1} - возвращает идентификатор записи, но не текст из ComboBox


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

Dmitry.

Re: Прошу помощи знатоков SQL

а вернуть текст можно в SQL запросе?

Re: Прошу помощи знатоков SQL

да, например

select
logs.id,
logs.login1,
logs.date,
logs.operation,
logs.num_GK,
logs.num_dog

from logs

where  logs.login1 LIKE (SELECT users.login FROM users WHERE users.id={combobox1})

order by logs.id
Dmitry.

Re: Прошу помощи знатоков SQL

Спасибо Дмитрий!! Все работает, что-то похожее с LIKE пытался сделать но с синтаксисом не разобрался! БЛАГОДАРЮ!

Re: Прошу помощи знатоков SQL

Здравствуйте! В SQL запросе объединяю две переменные из одной таблицы. Как сделать, чтобы вторая переменная оказалась перенесена на новую строку при отображении в ГРИДЕ?
Select
BDog.nameGK || (здесь нужен перенос на новую строку) ||', шифр "' || bdog.shifr || '"',

Re: Прошу помощи знатоков SQL

delphinsl

Select
BDog.nameGK || char(13) ||', шифр "' || bdog.shifr || '"',


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

Form1.TableGrid1.RowSize := 32;

данную строчку можно расположить например в событии OnShow у формы.
либо в самом низу скрипта между
begin

end.



также для грида необходимо создать событие OnChange, где необходимо задействовать возможность переноса текста на новую строку в нужной колонке:

procedure Form1_TableGrid1_OnChange (Sender: string);
begin
    Form1.TableGrid1.Columns[0].WrapKind := wkWordWrap; // для первой колонки в гриде
end;
Dmitry.

Re: Прошу помощи знатоков SQL

Спасибо Дмитрий! Я воспользовался процедурой из справочника в примере для ГРИДА. Там перенос во всех колонках сделан.

Re: Прошу помощи знатоков SQL

Вставил в код char(13) и не работает перенос???

Re: Прошу помощи знатоков SQL

delphinsl wrote:

Вставил в код char(13) и не работает перенос???

покажите пожалуйста ваш код полностью

Dmitry.

Re: Прошу помощи знатоков SQL

Нашел ошибку. Во втором запросе надо было сделать также. У меня объединение двух таблиц

Re: Прошу помощи знатоков SQL

В отчёте SQL задано условие

WHERE card.record_count={EditCounter1} AND numMaino.balancePrice > 0

и оно работает.
Как для другого отчёта задать противоположное условие на отбор только тех значений, у которых балансовая стоимость не указана, т.е. равна 0. Формат поля - ДЕНЬГИ. Пробовал и =0, и =NULL. Эти варианты не проходят.

Не боги горшки лепят!

Re: Прошу помощи знатоков SQL

kunar80
если равна нулю, тогда
numMaino.balancePrice = 0


если NULL
numMaino.balancePrice IS NULL

Dmitry.

Re: Прошу помощи знатоков SQL

DriveSoft wrote:

kunar80
если равна нулю, тогда
numMaino.balancePrice = 0


если NULL
numMaino.balancePrice IS NULL

Первое в моём случае не работает. Со вторым вариантом получилось. СПАСИБО, ДМИТРИЙ!

Не боги горшки лепят!