В пределах одной таблицы всё работает хорошо, но как только в формирование результата добавляешь смежную таблицу вылетает ошибка. Связи таблиц настроены верно, по отдельности всё работает отлично. Как быть? Раздел: склад>показать паспорт детали.
51 2018-10-24 05:11:04
Topic: Ошибка при создании отчета с картинкой в режиме LinkFile. (2 replies, posted in Russian)
52 2018-10-23 11:14:02
Re: [Отчет] Вывод изображения в отчет, при использовании режима LinkFile (8 replies, posted in FAQ)
Столкнулся вот с такой бедой. В пределах одной таблицы всё работает хорошо, но как только в формирование результата добавляешь смежную таблицу вылетает ошибка. Связи таблиц настроены верно, по отдельности всё работает отлично. Как быть?
53 2018-10-09 05:41:31
Re: [Скрипт] Полосатый TableGrid (8 replies, posted in FAQ)
А возможно тоже самое провернуть с колонками, если да то можно пример?
54 2018-10-09 04:33:45
Re: Установка ширины столбцов в диалоге настройки TableGrid (4 replies, posted in Russian)
Полностью согласен, точно такая же проблема...
55 2018-10-06 05:40:00
Re: Поиск SQL запросом. (4 replies, posted in Russian)
Спасибо, я разобрался. Работающим вариантом для моей задачи будет:
SELECT
zurnal_cpu.id,
info_stanka.invent_nomer,
info_stanka.vnutr_nazv_cpu,
strftime('%d.%m.%Y', zurnal_cpu.data),
strftime('%H:%M', zurnal_cpu.vremia_ostanovki),
strftime('%H:%M', zurnal_cpu.vremia_sdaci),
zurnal_cpu.pricina_ostanovki,
zurnal_cpu.code_error,
zurnal_cpu.tekst_oshibki,
zurnal_cpu.vipolnenie_raboti,
smeni.smeni
FROM
zurnal_cpu
LEFT OUTER JOIN info_stanka ON info_stanka.id=zurnal_cpu.id_info_stanka
LEFT OUTER JOIN smeni ON smeni.id=zurnal_cpu.id_smeni
WHERE
(CASE WHEN '{poisk}' <> '' THEN info_stanka.invent_nomer LIKE '%{poisk}%' or
info_stanka.vnutr_nazv_cpu LIKE '%{poisk}%' or
zurnal_cpu.pricina_ostanovki LIKE '%{poisk}%' or
zurnal_cpu.code_error LIKE '%{poisk}%' or
zurnal_cpu.tekst_oshibki LIKE '%{poisk}%' or
zurnal_cpu.vipolnenie_raboti LIKE '%{poisk}%'
ELSE 1=1 END) AND
(CASE WHEN {DateTimePicker1} IS NOT NULL THEN date(zurnal_cpu.data) = date({DateTimePicker1}) ELSE 1=1 END) AND
(CASE WHEN {ComboBox1} <> -1 THEN zurnal_cpu.id_smeni = {ComboBox1} ELSE 1=1 END)
ORDER BY zurnal_cpu.id DESC
56 2018-10-05 12:25:53
Re: Поиск SQL запросом. (4 replies, posted in Russian)
(CASE WHEN '{poisk}' <> '' THEN info_stanka.invent_nomer LIKE '%{poisk}%' ELSE 1=1 END) AND
(CASE WHEN {DateTimePicker1} IS NOT NULL THEN date(zurnal_cpu.data) = date({DateTimePicker1}) ELSE 1=1 END) AND
(CASE WHEN {ComboBox1} <> -1 THEN zurnal_cpu.id_smeni = {ComboBox1} ELSE 1=1 END)
данный вариант работает при поиске текста только в таблице info_stanka.invent_nomer как быть если нужно искать в нескольких таблицах, не могу никак в синтаксис въехать, извините ?
57 2018-10-05 11:25:21
Re: Поиск по дочерним записям в TableGrid. (3 replies, posted in Russian)
Просто стоит галочка в настройках TableGrid. Нет никаких скриптов. Про правый клик и поиск понятно.
58 2018-10-05 08:05:03
Topic: Поиск по дочерним записям в TableGrid. (3 replies, posted in Russian)
Каким методом можно реализовать поиск по уже выведенным дочерним записям в таблице?
59 2018-10-05 07:56:34
Topic: Поиск SQL запросом. (4 replies, posted in Russian)
Весь поиск реализую SQL запросами. На данный момент на формах присутствует поиск по параметрам : текст, дата, выпадающий список.
Суть проблемы: поиск реализован двумя разными запросами, один отвечает за текст, другой за дату и выпадающий список. Хочу объединить всё в один запрос для того чтобы поиск производился по всем этим параметрам одновременно, не получается мало знаний в sql.
Код поиска текста:
SELECT
zurnal_cpu.id,
info_stanka.invent_nomer,
info_stanka.vnutr_nazv_cpu,
strftime('%d.%m.%Y', zurnal_cpu.data),
strftime('%H:%M', zurnal_cpu.vremia_ostanovki),
strftime('%H:%M', zurnal_cpu.vremia_sdaci),
zurnal_cpu.pricina_ostanovki,
zurnal_cpu.code_error,
zurnal_cpu.tekst_oshibki,
zurnal_cpu.vipolnenie_raboti
FROM
zurnal_cpu
LEFT OUTER JOIN info_stanka ON info_stanka.id=zurnal_cpu.id_info_stanka
WHERE
(CASE WHEN '{poisk}' <> '' THEN info_stanka.invent_nomer LIKE '%{poisk}%' ELSE 1=1 END) OR
(CASE WHEN '{poisk}' <> '' THEN info_stanka.vnutr_nazv_cpu LIKE '%{poisk}%' ELSE 1=1 END) OR
(CASE WHEN '{poisk}' <> '' THEN zurnal_cpu.pricina_ostanovki LIKE '%{poisk}%' ELSE 1=1 END) OR
(CASE WHEN '{poisk}' <> '' THEN zurnal_cpu.code_error LIKE '%{poisk}%' ELSE 1=1 END) OR
(CASE WHEN '{poisk}' <> '' THEN zurnal_cpu.tekst_oshibki LIKE '%{poisk}%' ELSE 1=1 END) OR
(CASE WHEN '{poisk}' <> '' THEN zurnal_cpu.vipolnenie_raboti LIKE '%{poisk}%' ELSE 1=1 END)
ORDER BY zurnal_cpu.id DESC
Код поиска по дате и выпадающему списку:
SELECT
zurnal_cpu.id,
info_stanka.invent_nomer,
info_stanka.vnutr_nazv_cpu,
strftime('%d.%m.%Y', zurnal_cpu.data),
strftime('%H:%M', zurnal_cpu.vremia_ostanovki),
strftime('%H:%M', zurnal_cpu.vremia_sdaci),
zurnal_cpu.pricina_ostanovki,
zurnal_cpu.code_error,
zurnal_cpu.tekst_oshibki,
zurnal_cpu.vipolnenie_raboti,
smeni.smeni
FROM
zurnal_cpu
LEFT OUTER JOIN info_stanka ON info_stanka.id=zurnal_cpu.id_info_stanka
LEFT OUTER JOIN smeni ON smeni.id=zurnal_cpu.id_smeni
WHERE
(CASE WHEN {DateTimePicker1} IS NOT NULL THEN date(zurnal_cpu.data) = date({DateTimePicker1}) ELSE 1=1 END) And
(CASE WHEN {ComboBox1} <> -1 THEN zurnal_cpu.id_smeni = {ComboBox1} ELSE 1=1 END)
ORDER BY zurnal_cpu.id DESC
60 2018-09-27 11:24:59
Re: [Все решено] Кнопка на назначения цвета строкам в Grid (32 replies, posted in Russian)
К сожалению в вашем проекте нет записей в таблице status_zadania...
Этого вполне достаточно, спасибо.
61 2018-09-27 10:56:01
Re: [Все решено] Кнопка на назначения цвета строкам в Grid (32 replies, posted in Russian)
Если все же необходимо редактировать кнопкой, приложите ваш проект, сделаю.
Хотелось бы увидеть как это реализуется. Буду применять в других местах по мере разработки.
62 2018-09-26 06:25:48
Re: [Все решено] Кнопка на назначения цвета строкам в Grid (32 replies, posted in Russian)
Пожалуйста опишите свою ситуацию.
Есть журнал заданий для рабочих смен. Для визуально отображения статуса заданий ячейки покрашены в разные цвета вот таким методом:
procedure zurnal_zadania_TableGrid1_OnChange (Sender: TObject);
var
i,c: integer;
begin
c := zurnal_zadania.TableGrid1.RowCount-1; // получаем количество строк в гриде
for i := 0 to c do // цикл перебора всех строк
begin
// красим ячейку в зависимости от текста или части текста в ней, в колонке 2
if Pos('Не принято', zurnal_zadania.TableGrid1.Cells[1,i])>0 then zurnal_zadania.TableGrid1.Cell[1,i].Color := $005551F4;
if Pos('Принято', zurnal_zadania.TableGrid1.Cells[1,i])>0 then zurnal_zadania.TableGrid1.Cell[1,i].Color := $0053D9FF;
if Pos('Выполнено', zurnal_zadania.TableGrid1.Cells[1,i])>0 then zurnal_zadania.TableGrid1.Cell[1,i].Color := $005FD862;
//if Pos('Выполнено', zurnal_zadania.TableGrid1.Cells[1,i])>0 then zurnal_zadania.TableGrid1.Cell[1,i].TextColor := clGreen; если надо покрасить текст
end;
end;
На данный момент статус меняется методом вызова нового окна и выбором из выпадающего списка. Хотелось бы это делать кнопками в окне где находится грид.
63 2018-09-24 05:45:58
Re: [Все решено] Кнопка на назначения цвета строкам в Grid (32 replies, posted in Russian)
Хотелось бы увидеть пример данной задачи. Можно кодом. Это возможно?
64 2018-08-16 05:34:45
Topic: Удаление DBImage(режим LinkFile) при удалении записи. (6 replies, posted in Russian)
Пользовал поиск не нашёл ответа... Как удалить файл изображения из папки добавленный с помощью компонента DBImage работающего в режиме LinkFile при удалении записи?
65 2018-08-06 16:03:27
Topic: Скрипт на изменение даты в DateTime... (1 replies, posted in Russian)
Помогите написать скрипт (если он возможен) на изменение даты (минус один день к текущей дате) в DateTimePicker при выборе определённой записи в ComboBox.
66 2018-07-31 01:20:08
Re: sql поиск в разных таблицах БД (7 replies, posted in Russian)
Итоговый запрос стал таким
SELECT
zurnal_cpu.id,
info_stanka.invent_nomer,
info_stanka.vnutr_nazv_cpu,
strftime('%d.%m.%Y', zurnal_cpu.data),
strftime('%H:%M', zurnal_cpu.vremia_ostanovki),
strftime('%H:%M', zurnal_cpu.vremia_sdaci),
zurnal_cpu.pricina_ostanovki,
zurnal_cpu.code_error,
zurnal_cpu.tekst_oshibki,
zurnal_cpu.vipolnenie_raboti
FROM
zurnal_cpu
LEFT OUTER JOIN info_stanka ON info_stanka.id=zurnal_cpu.id_info_stanka
WHERE
(info_stanka.invent_nomer LIKE '%{poisk}%') OR
(info_stanka.vnutr_nazv_cpu LIKE '%{poisk}%') OR
(zurnal_cpu.pricina_ostanovki LIKE '%{poisk}%') OR
(zurnal_cpu.code_error LIKE '%{poisk}%') OR
(zurnal_cpu.tekst_oshibki LIKE '%{poisk}%') OR
(zurnal_cpu.vipolnenie_raboti LIKE '%{poisk}%');
Помогите пожалуйста добавить сюда поиск zurnal_cpu.data через DateTimePicker и поиск по чекбоксу zurnal_cpu.smena.
67 2018-07-28 10:23:57
Topic: Поиск по диапазону времени. (1 replies, posted in Russian)
Есть журнал работ. Сотрудник заносит туда запись содержащую в себе данные о дате работ, начале работ, их окончании и описание работ.
Задача организовать поиск по дате с учётом смены сотрудника.
В теории я вижу два пути:
Первый, это добавить в запись пункт где сотрудник будет указывать свою смену.
Второй, sqlite запрос на поиск в диапазоне времени. но есть нюанс с датой. приведу пример смен.
29.01.2019
1я смена: 07:00-15:45
2я смена: 15:30-00:00
30.01.2019
3я смена: 23:45-07:15
Но третья смена относится к 29 числу.
В первом случае я не могу разобраться как мне произвести поиск в уже выданных результатах в таблице.
Во втором случае возникает проблема в моём малом опыте работы с sqlite.
Помогите пожалуйста найти оптимальное решение. Шаблон к записи прилагаю.
68 2018-07-19 14:35:31
Re: Ошибка при добавлении файла в бд на mysql (3 replies, posted in Russian)
Сервер находится внутри локальной сети. В итоге всех плясок с бубном по настройке mysql сервера я смог достигнуть лимита в 15мб. Буду отказываться от прямого хранения...
69 2018-07-16 18:53:56
Re: Множественный выбор из списка для сохранения записи. (15 replies, posted in Russian)
Пример рабочий. Но как быть если необходимо подобную запись вывести в отчет (печать на принтере)?
70 2018-07-16 16:32:48
Topic: Ошибка при добавлении файла в бд на mysql (3 replies, posted in Russian)
При попытке прикрепить файл через форму добавления файлов выдаёт ошибку, подозреваю что она связанна с размером файла. Так как не крепятся файлы больше 1 мб.
71 2018-07-05 12:21:45
Re: sql поиск в разных таблицах БД (7 replies, posted in Russian)
Странно но работает. Правда я только сейчас осознал что придется каким то образом переделывать кнопки предназначенные для редактирования записи так как они перестали работать. Проект приложил.Раздел перечень станков.
72 2018-07-05 11:30:38
Re: sql поиск в разных таблицах БД (7 replies, posted in Russian)
Тут мне дал ответ (а теперь его нету) другой участник форума. На базе него я решил свой вопрос методом ниже. Извиняюсь за не ясность со связями, в следующий раз постараюсь выражать мысль точнее. Скажите пожалуйста существует ли существенная разница между моим методом и вашим (к примеру в плане нагрузки на сервер)?
SELECT
info_stanka.invent_nomer,
info_stanka.vnutr_nazv_cpu,
info_stanka.nazv_stanka,
info_stanka.zavod_nomer,
info_stanka.data_vvoda,
firmi_postavsiki.firma_postavki,
ceha.ceh,
tip_satanka.tip_stanka
FROM
info_stanka,firmi_postavsiki,ceha,tip_satanka
WHERE
info_stanka.id_firmi_postavsiki = firmi_postavsiki.id and
info_stanka.id_ceha = ceha.id and
info_stanka.id_tip_satanka = tip_satanka.id and
((info_stanka.invent_nomer LIKE '%{Edit1}%') OR
(info_stanka.vnutr_nazv_cpu LIKE '%{Edit1}%') OR
(info_stanka.nazv_stanka LIKE '%{Edit1}%') OR
(info_stanka.zavod_nomer LIKE '%{Edit1}%') OR
(firmi_postavsiki.firma_postavki LIKE '%{Edit1}%')OR
(ceha.ceh LIKE '%{Edit1}%')OR
(tip_satanka.tip_stanka LIKE '%{Edit1}%'));
73 2018-07-05 05:05:00
Topic: sql поиск в разных таблицах БД (7 replies, posted in Russian)
Тема поднималась тут неоднократно. Но разобраться так и не смог. БД на msql. Требуется организовать поиск в разных связанных таблицах. я так понимаю что решение кроется в обледенении таблиц но решить вопрос так и не смог. Вот запрос до которого я дошёл.
SELECT
info_stanka.invent_nomer,
info_stanka.vnutr_nazv_cpu,
info_stanka.nazv_stanka,
info_stanka.zavod_nomer,
info_stanka.data_vvoda,
firmi_postavsiki.firma_postavki
ceha.ceh
FROM
info_stanka (????)
WHERE
(info_stanka.invent_nomer LIKE '%{Edit1}%') OR
(info_stanka.vnutr_nazv_cpu LIKE '%{Edit1}%') OR
(info_stanka.nazv_stanka LIKE '%{Edit1}%') OR
(info_stanka.nazv_stanka LIKE '%{Edit1}%') OR
(firmi_postavsiki.firma_postavki LIKE '%{Edit1}%') OR
(ceha.ceh LIKE '%{Edit1}%');
74 2018-06-28 13:24:10
Re: Кастомизация компонента: Сохранение любого файла в базу данных. (3 replies, posted in Russian)
Файл сохраняется в БД на msql. Данный вами пример не подходит.
75 2018-06-27 14:19:37
Topic: Кастомизация компонента: Сохранение любого файла в базу данных. (3 replies, posted in Russian)
Сам компонент вызывает затруднение в использовании у конечного пользователя. Есть желание сам компонент скрыть а его действия назначить на кнопки. это возможно?