1

(10 replies, posted in Russian)

Вау, спасибо !
Все получилось по Вашему совету.
Спасибо, что не бросили и помогли. Искренне признателен.

2

(10 replies, posted in Russian)

Спасибо.
Такой сложный запрос не осилю....
Вопрос ведь в том как вытащить связанные данные из таблиц второго и выше уровня.
Да.... буду оптимизировать структуру БД...

3

(10 replies, posted in Russian)

Уважаемый К245, спасибо.
Дайте, плиз, совет по еще одному вопросу:
как видно из структуры моей базы данных, в таблице CatalogLOP есть ссылки на данные , которые берутся из других таблиц
- id_BrandCar
- id_ModeleYear   и т.д.
Всего таких ключевых переменных 13
Вопрос: как сформировать запрос скриптом, что бы для вывода отчета отбирались данные из таблицы CatalogLOP с учётом именно всех этих параметров.
Заранее спасибо за помощь
Олег

4

(10 replies, posted in Russian)

ок, сдалал как Вы написали
ссылка на архив : https://yadi.sk/d/AAZRYMQuKPhLcA
Олег

5

(10 replies, posted in Russian)

подкажите, как прикрепить файл с проектом

Всем спасибо за отзывчивость и помощь
Тема закрыта - вопрос решен
Переделал структуры базы данных
Олег

7

(10 replies, posted in Russian)

Дмитрий, добрый день.
Пытаюсь переделать Ваш код из примера "печать отчёта скриптом" под свои нужды
при выполнении скрипта
на строке
    Form1.frxReport.Clear;
выдается ошибка = Undeclared identifier: 'frxReport' at 37:33
не подскажете в чём может быть дело?
P.S.: что удивительно Ваш пример работает без проблем, а в моей программе выдаёт эту ошибку
стоит версия программы 5.2
Заранее спасибо, Олег

кто нибудь может помочь ?

Форумчане, добрый день.
Прошу Вашей помощи.
Суть: на форме есть поле DBImage1, в которое загружается картинка по условию.
Как SQL-запросом записать изображение из этого поля DBImage1 в таблицу БД
Что-то мой запрос:
   SQLExecute ('INSERT INTO name_tbl (name_field) VALUES ('Form1.DBImageAvto. Picture')');
или вариант с переменной
   SQLExecute ('INSERT INTO name_tbl (name_field) VALUES ('+Form1.DBImageAvto. sqlValue+')');
не работает.

Заранее спасибо за помощь
С Уважением, Олег

10

(1 replies, posted in Russian)

Форумчане, приветствую.
Прошу помощи: как к программе подключить внешние шрифты, хранящиеся в каталоге проекта.
Идея в том, что программа записана на флэшку, её воткнул в любой комп и она работает использую шрифты для каждого коспонента.
Файлы самих шриштов находятся в корне проекта в папке font
Заранее благодарю за помощь
С Уважением, Олег

Дерек, доброе утро
Спасибо большое за оперативность ответов и оказанную помощь
С бло\агодарностью и Уважением, Олег
(гугл рулит)

Дерек, добрый день
Подскажите, плиз, как для Вашего примера создать 100% дубликат записи в базе данных.
Заранее благодарю
С Уважением, Олег

Derek,
Thank you very much. An example of what is needed. I tune it for yourself.

Дмитрий и Форумчане, добрый вечер.
Возник вопрос, сам решения не осилил - прошу Вашей помощи.

На форме имеется два грида: один главный ( для отображения номеров заказов) и подчиненный (для отображения состава заказа, т.е. материалов которые включены в тот или иной заказ).

Сейчас реализовано, при выборе в главной таблице того или иного заказа в подчиненном гриде отображается список материалов, в соответствии выбранному в главном гриде заказу (назовем это прямой поиск)

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

Надеюсь описал простым и понятным способом.

Заранее благодарю за помощь.

С Уважением, Олег

15

(3 replies, posted in Russian)

Дмитрий, так и делаю: вставил поле счётчик, он обнуляется и все - ОК.
Вопрос был связан тем, что единоразово расчитавается 127 параметров (если быть точнее, рассчитываются уравнения максвела, физика электромагнитного поля). В течении дня количество расчётов превышает сотню. Т.О. нарастающее  число Id меня уже пугает.
Не знаю - есть ли предел Id_tbl.
Дмитрий, благодарю.
Если позволите еще вопросик.
В настоящее время результаты расчётов добавляются в таблицу по кновке с действием SQL ЗАПРОС
сам запрос прост = INSERT INTO tbl_name (field_name1, field_name2, ....) VALUES ('{Edit1}','{Edit2}', ...)
как видно из запроса табл заполняется данными из Edit-ов
Вопрос: как прописать аналогичный запрос но в теле скрипта.
вариант SQLExecute('INSERT INTO tbl_name (field_name1, field_name2, ....) VALUES (Edit1, Edit2, ...)'); - не работает.
Заранее благодарю
С Уажением, Олег

16

(3 replies, posted in Russian)

Дмитрий, добрый день.
Help Me !

В базе данных создал таблицу в которую записываю промежуточные результаты проведенных расчётов и которые потом так же вывожу в Report. Перед каждым новым расчётом произвожу очистку данной таблицы используя
SQLExecute('DELETE FROM Tbl_name').
Все работает, нареканий нет и потом очень удобно формировать отчет не используя запросы (слабоват я в них !).
Однако есть проблема. ЗАписи в таблице обнуляются, а вот ID продолжает расти.
Для обнуления ID пробовал запросы:
SQLExecute('ALTER TABLE tbl_name AUTO_INCREMENT = 1') - не работает.
SQLExecute('TRUNCATE TABLE tbl_name') - не работает.

Прошу подсказать, как запросом обнулить id таблицы.
С Уважением, Олег.

17

(3 replies, posted in Russian)

Дмитрий, добрый день.
Подскажите, плиз, как скриптом передать текст из Form1.Label1.Caption и Form1.Edit1.Text в Memo1 (текст из Label1) и Memo2 (текст из Edit1) FastReport.
Заранее благодарю за оперативный ответ.
С Уважением, Олег.

18

(4 replies, posted in Russian)

Дмитрий, добрый день.
Спасибо за отклик на мой запрос в оказании помощи.
Вопрос решен. Спасибо
С Уважением, Олег.

19

(4 replies, posted in Russian)

Дмитрий, добрый день.
Спасибо за отклик на вопрос.
К сожалению не знаю как приложить проект,
По нажатию на кнопку пытаюсь сохранить данные в гриде для и отображения текущей стоимости н\часа и для автоматического расчёта и ничего не происходит.
сам код ниже
procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
  i,c: integer;
  sPrice: string;
begin
  c := Form1.TableGrid1.RowCount - 1;
    for i := 0 to c do
      begin
         sPrice := FormatFloat('###,###,##0.#0', StrToFloat(Form1.Edit1.Text) );
         if ValidFloat(sPrice) then
             Form1.TableGrid1.Cells[2,i] := FormatFloat('###,###,##0.#0', StrToFloat(sPrice) );
      end;
Form1.TableGrid1.dbUpdate;
end;

С Уважением, Олег

20

(4 replies, posted in Russian)

Друзья, добрый день.
Прошу помочь со следующим вопросом: что-то голову сломал, но не могу самостоятельно решить данный вопрос.
На форме имеется грид в который выводятся следующие поля:
- артикул рабочей операции (LOPWork), тип поля: TEXT
- наименование рабочей операции (NameWork),тип поля: TEXT
- трудозатраты, н\ч ( KolNch), тип поля: ВЕЩ.ЧИСЛО
- стоимость н\ч (PriceNch), тип поля: ДЕНЬГИ
- итого стоимость работы (SumPriceNch), тип поля: ВЫЧИСЛЯЕМОЕ (KolNch * PriceNch)
так же на форме имеется Edit: edPriceNch
идея стоит такая: в Edit в ручками или используя выбор из другого грида, вносим текущую стоимость 1 н\ч, например 3 100,00 руб.
После внесения данное значение должно отобразиться в гриде в поле стоимость н\ч (PriceNch) и должен произойти автоматический расчёт стоимости работ, который так же должен отобразиться в поле Итого стоимость работ (SumPriceNch)/
Прошу помощи со скириптом для данного действия.
Заранее благодарю
С Уважением, Олег.

21

(11 replies, posted in Russian)

Дмитрий, добрый день.
Вопрос №2:  спасибо, как раз реализовал, как в предложенном Вами примере
Вопрос №1: на Form1 имеется TableGrid1 который содержит записи по запросу. При активации соответствующей записи (двойное нажатие левой кнопки мышки) открывается Form2 (просмотр\редактирование выбранной записи).
Мне как раз и надо производить подсчёт количества раз открытия записи ( или же переходов на форму просмотра\редактирования записи)
И что бы это количество отображалось в Form1.TableGrid1 в колонке с полем АКТИВНОСТЬ в строке соответствующей записи.

Я, как админ и руководитель, открыл главную форму (FORM1) и в TableGrid по колонке АКТИВНОСТЬ увидел бы самую востребованную клиентами услугу на данный момент времени и далее предпринимал бы некие маркетинговые действия по развитию отстающих услуг, т.е. тех у которых количество раз открытия самое маленькое.
Дмитрий, надеюсь мне удалось Вам объяснить смысл моего желания.
С Уважением
Олег

22

(11 replies, posted in Russian)

Евгений, спасибо за совет.
Дали верное направление. Реализовал следующим образом: автоматическая установка ширина колонок ( по наименованию и по содержимому) и ....вуаля - скролл ушёл.
Спасибо
С уважением
Олег

23

(11 replies, posted in Russian)

Евгений, добрый день.
Горизонтальный скролл портит внешний вид интерфейса т.к. у меня не так много выводится колонок в gride/
Спасибо за Ваш совет - а нельзя ли чуть поподробнее, как реализовать данное предложение: играть с настройками или написать отдельный скрипт.
Спасибо
С Уваженнием
Олег

24

(11 replies, posted in Russian)

Дмитрий, сорри, ещё один вопрос:
возможно ли в Gride отключить нижний горизонтальный скролл. Вертикальный надо оставить.
Спасибо за оперативный ответ
С Уважением
Олег

Добрый день.

Предлагаю следующий вариант решения:

var
    i,c,f,r: integer;
begin
    c := frmAllDict.GridEngine.RowCount - 1;
    f := frmAllDict.GridEngine.Columns.Count - 1;
  for i := 0 to c do
    begin   
      if frmAllDict.GridEngine.Cells[2,i]='петров'
          THEN
            for r := 0 to f do
               frmAllDict.GridEngine.Cell[r,i].Color := $00E8FFE8; // закрашивание всей строки
    end;

С Уважением, Олег