Добрый вечер!
Я понимаю, что нужен запрос через кнопку (кнопку уже сделал).
Обновление таблицы "Товар" (nomZak - delivered) данными из запроса написанного в начале топа.
Сначала я делаю выборку товаров согласно поступления по номенклатуре с выборкой по номеру заявки, а потом эти данные обновляют таблицу NomZak-delivererd.

Добрый вечер прошу помочь с обновлением таблицы посредствам данных запроса SELECT
Сам запрос выглядит следующим образом:
SELECT SpecEntrance.id_Nomenklature, SUM(SpecEntrance.number) As Total
FROM Entrance
JOIN SpecEntrance ON SpecEntrance.id_Entrance=Entrance.id
WHERE SpecEntrance.id_Zakupka=180
GROUP BY SpecEntrance.id_Nomenklature
Обновить надо таблицу NomZak по условию NomZak.id_Zakupka=180

Прилагаю проект. Запрос планирую осуществлять посредствам кнопки на окне закупка таблицы номенклатура.
Суть обновления простановка поступивших товаров, согласно данных из вкладки поступления (согласно запроса выше)

А вот на вопрос о корректном отражении счетов на форме закупки, можно дать разъяснение как выправить?

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

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

pavlenko.vladimir.v wrote:
glkonst79 wrote:

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

посмотрел  Ваш запрос

SQLExecute ('INSERT INTO SpeScore (id_Nomenklature, number, price, NDS, priceNDS, sumNDS) SELECT id_Nomenklature, number, price, NDS, priceNDS, sumNDS FROM SpecDog WHERE id_Dogovor=' + frmScore.ComboBox2.sqlValue)

У вас тут данные вообще с разных таблиц, тут вообще все неверно
 
Дайте четкое описание, что и от куда Вы берете!

Я хочу скопировать данные из таблицы SpecDog (номенклатура договора) в таблицу SpecScore (номенклатура счета) выборкой по номеру договора. Все это хочу осуществить на форме создания счета. Надеюсь картинка разъяснит мысль.

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

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

При запросе на обновление, я хотел указать, что все записи со значением id_score = NULL  должны замениться на значение поля indent, которое равно id таблицы Score

Добрый вечер!
Этот архив должен работать

Добрый вечер!
Повторно прошу помочь с решением проблемы по заполнению грида по SQL запросу и последующей привязки к открытой форме.
Вот такой запрос по кнопке:
procedure frmScore_Button6_OnAfterClick (Sender: TObject; var Cancel: boolean);
begin
    SQLExecute ('INSERT INTO SpeScore (id_Nomenklature, number, price, NDS, priceNDS, sumNDS) SELECT id_Nomenklature, number, price, NDS, priceNDS, sumNDS FROM SpecDog WHERE id_Dogovor=' + frmScore.ComboBox2.sqlValue;
  SQLExecute ('UPDATE SpeScore SET id_Score=IF NULL (id_Score,' + frmScore.indent.text+ ')");
  frmScore.TableGrid1.dbUpdate;
end;

После выполнения данного запроса выскакивает ошибка, что отсутствует id (открытой формы Score).
Проект прилагаю, форма счета открывается по кнопке словарь - вкладка счет.

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

Все верно, но данная схема работает когда я начинаю ввод табличной части через новую форму. А в моем вопросе заполнение грида происходит через запрос (без вызова дополнительной формы). Поэтому полагаю не происходит сохранение формы счета и как следствие записи строки в таблице Score из которой мне надо вытянуть id_score для записи данных в столбец при копировании в таблицу номенклатуры счета.

Добрый вечер!
Прошу помочь с запросом на заполнение грида на форме при помощи кнопки с выборкой из таблицы на основании данных в комбобоксе.
Попробывал через INSERT INTO SpeScore (id_score, id_nomenklature, number, price, NDS, sum, priceNDS, sumNDS) SELECT __, id_nomenklature, number, price, NDS, sum, priceNDS, sumNDS FROM SpecDog WHERE SpecDog.id_Dogovor=frmScore.Combobox2.SqlValue
не соображу как привязать id_score без записи формы перед выполнением запроса.

Добрый день!
Прикладываю проект с тремя счетами: 2 с договорами и 1 без договора.
В таблице Consalidate получается полная каша, должно быть так:
счет № 122 привязан к заявкам под порядковыми номерами 21 и 22;
счет № 45666 к заявке с порядковым номером 10;
счет № 7 к заявке с порядковым номером 4.
А почему-то при создании записи в addscore создается не 1 запись, а комплект согласно всех заведенных договоров.

Добрый вечер!
Вероятно да, я не совсем точно описал форму в которую нужно вывести данные, надо в таблицу оплаты в форме закупки вывеси данные из таблицы consolidat, со следующими данными: номер договора, номер счета, контрагент, вид оплаты, сумма.
Что касаемо таблицы Form1, да данное окно осталось с предыдущей версии данной базы, а удалить пока не спешу, поскольку это пока не критичный для меня параметр. А вот данные по счету в форме закупки важны для контроля хода отработки заявки.

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

Странно по проекту в данном случае основная таблица addscore, но все равно при ее выборе данные не заполняются полностью если нет договора, как только к счету цепляешь договор, данные заполняются. И все равно как-то не совсем правильно, видимо косяк в связях, но по моему пониманию дело в другом.

Прошу помочь в следующей проблеме.
В грид основной формы нужно вывести данные из таблиц: addscore  и score, которые связаны между собой.
Таблица Score имеет связи с таблицами: Контрагент и договор. Счет может быть как с договором, так и без него.
Проблема в том, что когда выводишь данные в грид через таблицу addscore, если счет без договора - данные по контрагенту и счету не отражаются в гриде, как только есть договор все данные отражаются полностью.
Прошу помочь, как сделать так чтобы данные отражались полностью, не зависимо от того есть договор или нет.

Добрый вечер!
Ваш вариант работает, но почему договор везде один. Хотя если смотреть по счетам один счет без договора.
Почему сводная таблица некорректно заполняется, в части данных по счету???
Видимо я что-то сделал не так, не могу понять где ошибаюсь, помогите

Извините, исправляю этот досадный косяк.

Добрый вечер!
Прошу помочь с проблемой отражения данных оплаты в таблице на форме закупки.
SQLite показывает корректное заполнение сводной таблицы, но в гриде я не могу корректно увидеть все необходимые данные.
Прошу помочь в чем проблема, прикладываю проект.
Необходимость сводной таблицы обусловлено тем что у нескольких заявок может быть один счет. Но и счет может быть разделен на 2 оплаты в разных пропорциях, поэтому нужно отражать как аванс, так и пост оплату в каждой заявке.
По сути мне надо чтобы в таблице оплаты на форме заявки отражалась выбраная строка из таблицы consolidated

Спасибо за ответ, все работает.

Добрый вечер!
Подскажите пожалуйста, как сделать скрипт на перенос суммы столбца таблицы в текстовое поле.

Добрый вечер!
Обновил программу до версии 6.4 и проявилась проблема с комбобоксом.
procedure frmScore_ComboBox1_OnDropDown (Sender: TObject);
begin
    frmScore.ComboBox1.dbSQLExecute('SELECT DISTINCT name FROM Specification WHERE id_Dogovor='+frmScore.dogovor.sqlValue)
end;
При выборе записи согласно процедуре, запись в комбо показывается и исчезает.
Не могу понять почему она не фиксируется, в версии 6.2 все работало
Заранее спасибо.

Добрый вечер!
Попытался сделать кнопку копирования строки, согласно проекта с форума.
Но при запуске проекта выдается ошибка "undeclared identifier: bSave"
Самое интересное что в проекте примера, данный идентификатор работает

frmNomenkl.bSave.dbGeneralTableId:=-1;
frmNomenkl.bSave.Click;