1 (edited by Jorge 2015-12-14 12:45:21)

Topic: Отобразить сумму значений таблиц на форме отдельным полем.

Всем привет!

Есть 2 таблицы с 3 полями в каждой. Таблица представляет из себя:
Товар1      Товар2
Цена1       Цена3
Цена2       Цена4

Вывожу комбобоксами Товар1 и Товар2 для возможности выбора товара.
А вот как вывести в отдельном поле цены, чтоб при выборе определенного товара показывалась в форме и его цена соответственно.
Ну а если наглеть, то спрошу, как вывести в итоговом поле такую сумму: Товар1.Цена1+Товар2Цена4, чтоб на форме эту сумму увидеть?

Re: Отобразить сумму значений таблиц на форме отдельным полем.

В ComboBox-е вы можете одновременно показать как название товара, так и его цену, для этого в свойстве FieldName перечислитие необходимые поля в фигурных скобках, например

{Товар1} {Цена1}

судя по наличию двух одинаковых  таблиц, вы неверно подходите к проектированию БД.
Какая цель данной базы данных? возможно у меня найдеться готовый пример для вас.

Dmitry.

3 (edited by Jorge 2015-12-14 15:50:41)

Re: Отобразить сумму значений таблиц на форме отдельным полем.

Дмитрий, вы мне уже делали пример по посту http://myvisualdatabase.com/forum/viewtopic.php?id=1962

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

Re: Отобразить сумму значений таблиц на форме отдельным полем.

получить цену в TextBox можно так:

procedure Form1_ComboBox1_OnChange (Sender: string);
begin
   Form1.Edit1.Value := SQLExecute('SELECT IFNULL(price, 0) FROM tablename WHERE id='+Form1.ComboBox1.sqlValue);
end;
Dmitry.

Re: Отобразить сумму значений таблиц на форме отдельным полем.

Спасибо большое.
Переделал под названия своей таблицы, полей и комбобокса так:

procedure frmAddEdit_ComboBox4_OnChange (Sender: string);
begin
   frmAddEdit.Price_Visa_Type.Value := SQLExecute('SELECT IFNULL(Стоимость визы, 0) FROM Initial_Data WHERE id='+frmAddEdit.ComboBox4.sqlValue);
end;

При попытке запуска вываливается ошибка:
'BEGIN' expected at 5:1

Пробовал в тупую то, что вы посоветовали. Тоже ошибка вылезает, та же.
Не понимаю, в чем проблема.

Re: Отобразить сумму значений таблиц на форме отдельным полем.

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

Dmitry.

Re: Отобразить сумму значений таблиц на форме отдельным полем.

В предыдущем посте я его выложил. Но самое главное, что и ваш вариант также выдает ошибку.
В архиве Fixed2, который вы мне присылали, при запуке проекта тоже вылезает ошибка:
'BEGIN' expected at 3:1

Вот ваш код:

procedure New_Applicant_ComboBox_Visa_Type_OnChange (Sender: string);

Client.Initial_Data.Text := New_Applicant.Visa_Type.Text; //перенос текста из комбобокса в текстовое поле

Не понимаю, в чем проблема.

Re: Отобразить сумму значений таблиц на форме отдельным полем.

Скопируйте пожалуйста весь (от первой строчки до последней) код скрипта.

Dmitry.

Re: Отобразить сумму значений таблиц на форме отдельным полем.

Отправляю ваш архив, ничего не менял в скрипте. Добавил только на форму поле для вывода стоимости, да и то не работает.
При попытке выполнить exe фал также, естественно, вылезает эта ошибка.

Post's attachments

Attachment icon Fixed2.zip 9.34 kb, 404 downloads since 2015-12-15 

Re: Отобразить сумму значений таблиц на форме отдельным полем.

Меняли.

Приложил к сообщению исправленный вариант проекта

Post's attachments

Attachment icon Fixed3.zip 9.75 kb, 432 downloads since 2015-12-15 

Dmitry.

Re: Отобразить сумму значений таблиц на форме отдельным полем.

Спасибо вам большое, что возитесь со мной. Буду разбираться дальше.