Последняя версия DataExpress 3 beta от 15 сентября 2020 года.

Изображение Скачать | Изображение Что нового?



Объявление:

Если вам понравилась программа и вы ее интенсивно используете - замолвите словечко о ней на вашем сайте (блоге, форуме, твитере, краской на подъезде, ютуб-канале и т.д.) с активной (по-возможности) ссылкой на сайт программы/форум. Тем самым вы можете внести небольшой вклад в seo-карму проекта в виде входящих ссылок.
Спасибо! Администрация :)


>> Обсудить <<

Скрипт для автоматического заполнения таблицы из другой формы по условию

Все вопросы, связанные с написанием скриптов и SQL-запросов.
ugport
Новичок
Сообщения: 21
Зарегистрирован: 01 авг 2019, 12:11
Поблагодарили: 2 раза

Скрипт для автоматического заполнения таблицы из другой формы по условию

Сообщение ugport » 04 ноя 2019, 14:10

Добрый день.
Помогите написать скрипт для автоматического заполнения таблицы расположенной на форме из другой формы с применением условия.
Есть база на ней три формы:
-Реестр сотрудников
-Раздел ПД
-Анкета АДМ.

На форме Анкета АДМ размещена таблица которая должна заполняться автоматически (руками заполнять будет долго и это однотипные данные будут) - заполняется она Данными из Реестра сотрудников (ФИО сотрудника), при этом есть два условия:
1 - сотрудник действующий (флаг на форме Реестр сотрудников)
2 - сотрудник относится к разделу ПД = АДМ,
и поле в таблице Затрачены часы (значение цифра - 40)

В идеале чтобы заполнялось при создании новой записи формы, но можно и по кнопке (сейчас по кнопке не работает).
Так как с кодом не особо дружу, поиском в интернете нашел примеры и пытался сделал скрипт, но не заработало( Скрипт умеет проверять заполнено не заполнено и удалять заполненные данные таблицы)) но вот вставлять из формы значения не умеет.
Помогите чтобы скрипт заработал)

Пример базы приложил!! Спасибо)
Вложения
BAS1.7z
(36.4 КБ) 85 скачиваний

ugport
Новичок
Сообщения: 21
Зарегистрирован: 01 авг 2019, 12:11
Поблагодарили: 2 раза

Скрипт для автоматического заполнения таблицы из другой формы по условию

Сообщение ugport » 05 ноя 2019, 17:26

Вопрос все еще актуален)))
Хотя сделал все-таки после дня мучения через запрос - но это костыли) - зато работает)))

Kliborn
Новичок
Сообщения: 26
Зарегистрирован: 30 мар 2018, 11:23
Благодарил (а): 5 раз
Поблагодарили: 2 раза

Скрипт для автоматического заполнения таблицы из другой формы по условию

Сообщение Kliborn » 05 ноя 2019, 18:28

мы все следим за инновациями. выложите свои "костыли" для обучения.

ugport
Новичок
Сообщения: 21
Зарегистрирован: 01 авг 2019, 12:11
Поблагодарили: 2 раза

Скрипт для автоматического заполнения таблицы из другой формы по условию

Сообщение ugport » 06 ноя 2019, 08:23

Все оказалось просто и гениально, главное знать какие обращаться к данным:
1. скрипт автоматического заполнения таблицы из запроса:

Код: Выделить всё

begin
 Q := Self.Queries['Запрос'];
 Q.DisableControls;
 Q.MoveFirst;

 while not Q.Eof do
         begin
          ID := Q.RecId;
          DestFm.Append;
          DestFm['ПОЛЕ КОТОРОЕ НАДО ЗАПОЛНИТЬ']:= ID;
          DestFm.Post;
          Q.MoveNext;
          end;
 end;
 Q.EnableControls;
 Q.Refresh;   

2 - а так же для скрипт для запуска скрипта автоматически при открытии формы:

Код: Выделить всё

procedure Form_Create;
begin
self.onenter     :=@ НАИМЕНОВАНИЕ СКРИПТА;
end;

(кому-то покажется это очевидно, но когда делал я потратил часа два на одну только эту строчку так как поиск приводил к команде onafteredit - и иже с ним по справочнику ничего не давало, а onenter нашел чисто случайно))

easpnz
Новичок
Сообщения: 38
Зарегистрирован: 18 окт 2017, 08:43
Благодарил (а): 1 раз

Скрипт для автоматического заполнения таблицы из другой формы по условию

Сообщение easpnz » 04 май 2020, 17:01

ugport писал(а):Все оказалось просто и гениально, главное знать какие обращаться к данным:
1. скрипт автоматического заполнения таблицы из запроса:

Код: Выделить всё

begin
 Q := Self.Queries['Запрос'];
 Q.DisableControls;
 Q.MoveFirst;

 while not Q.Eof do
         begin
          ID := Q.RecId;
          DestFm.Append;
          DestFm['ПОЛЕ КОТОРОЕ НАДО ЗАПОЛНИТЬ']:= ID;
          DestFm.Post;
          Q.MoveNext;
          end;
 end;
 Q.EnableControls;
 Q.Refresh;   

2 - а так же для скрипт для запуска скрипта автоматически при открытии формы:

Код: Выделить всё

procedure Form_Create;
begin
self.onenter     :=@ НАИМЕНОВАНИЕ СКРИПТА;
end;

(кому-то покажется это очевидно, но когда делал я потратил часа два на одну только эту строчку так как поиск приводил к команде onafteredit - и иже с ним по справочнику ничего не давало, а onenter нашел чисто случайно))

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


Вернуться в «Программирование в DataExpress»