Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

           Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
           И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - https://clck.ru/fCqwP

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2007, 15:31   #1
Apollo_13
Пользователь Подтвердите свой е-майл
 
Аватар для Apollo_13
 
Регистрация: 29.05.2007
Сообщений: 20
Вопрос Проблема с расчетом из БД

Здравствуйте, у меня проблема следующего характера:
Существует база данных (objects.db), в которой есть описания объектов и их характеристик, по нажатию кнопки открывается форма где можно редактировать эту БД, затем есть выпадающее
меню (DBLookupComboBox1) в котором нужно выбрать объект, после его выбора нажимаем кнопку, которая должна добавить эту запись в (DbListBox1). В общем подскажите пожалуйста как реализовать следующее:
1) Как сделать что бы нужная запись отображалась в (DBLookupComboBox1) и можно было выбрать нужную. Как я не старался ничего не вышло, пришел к выводу что одна и таже БД не может находится в разных объектах, так ли это?
2) Как по нажатию кнопки добавить запись из (DBLookupComboBox1) в (DbListBox1)? Тоже никак не получается...
3) И последнее самое главное, есть формула (например A+B*C=?) и A,B,C это характеристики разных объектов из разных БД, как реализовать такую формулу? Я так понимаю что нужно оперрировать записями из таблицы но как? Конечный результат нужно получить в (Memo, RichEdit, DbEdit, или в Edit)...
P.S. - Если есть примеры, то давайте, всем ответившим заранее огромное спасибо!

Последний раз редактировалось Apollo_13; 01.06.2007 в 02:10.
Apollo_13 вне форума Ответить с цитированием
Старый 31.05.2007, 20:27   #2
Nemon
Армия Рассейская
Форумчанин
 
Аватар для Nemon
 
Регистрация: 06.12.2006
Сообщений: 175
По умолчанию

3. вопрос
ты имеешь ввиду сложить данные из полей разных таблиц?
Сделаем ночь ярче!!! - Ракетные войска стратегического назначения
Центральный клуб туристов РВСН
Nemon вне форума Ответить с цитированием
Старый 01.06.2007, 02:09   #3
Apollo_13
Пользователь Подтвердите свой е-майл
 
Аватар для Apollo_13
 
Регистрация: 29.05.2007
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Nemon Посмотреть сообщение
3. вопрос
ты имеешь ввиду сложить данные из полей разных таблиц?
Да, именно это мне и нужно, производить некие математические действия над полями из разных таблиц, и что бы конечный результат можно было получить в (Memo, RichEdit, DbEdit, или в Edit), PLZ скажите как если знаете...

Последний раз редактировалось Apollo_13; 01.06.2007 в 09:05.
Apollo_13 вне форума Ответить с цитированием
Старый 03.06.2007, 23:30   #4
Nemon
Армия Рассейская
Форумчанин
 
Аватар для Nemon
 
Регистрация: 06.12.2006
Сообщений: 175
По умолчанию

var a, b, c: integer;
begin
a: = table1имя_поля1.value;
b: = table1имя_поля2.value;
c: = a+b;
edit1.text: =c;
end
Сделаем ночь ярче!!! - Ракетные войска стратегического назначения
Центральный клуб туристов РВСН
Nemon вне форума Ответить с цитированием
Старый 04.06.2007, 09:05   #5
Apollo_13
Пользователь Подтвердите свой е-майл
 
Аватар для Apollo_13
 
Регистрация: 29.05.2007
Сообщений: 20
По умолчанию

Блин... Немного непонятно как должен выглядеть синтаксис, так:

procedure TForm1.Button1Click(Sender: TObject);
var a, b, c: integer;
begin
a:=Table1.FieldbyName('Value1').Cur Value;
b:=Table2.FieldbyName('Value2').Cur Value;
//c:=inttostr(Richedit1.Text);
c:=a+b;
Richedit1.Text:=inttostr(c);
end;

или надо через FieldCount? Вобщем я не спец в этом деле, если вам НЕтрудно можете написать, или может у кого есть готовые примеры. Заранее спасибо!
Apollo_13 вне форума Ответить с цитированием
Старый 04.06.2007, 10:18   #6
Nemon
Армия Рассейская
Форумчанин
 
Аватар для Nemon
 
Регистрация: 06.12.2006
Сообщений: 175
По умолчанию

Нет, не так.

Допусти есть таблица table1
В ней 2 поля pole1 и pole2
Писасть надо именно table1pole1 а не table1.fieldbyname.
Сделаем ночь ярче!!! - Ракетные войска стратегического назначения
Центральный клуб туристов РВСН
Nemon вне форума Ответить с цитированием
Старый 05.06.2007, 09:20   #7
Jon_1981
Пользователь
 
Аватар для Jon_1981
 
Регистрация: 02.06.2007
Сообщений: 10
По умолчанию

Нет почему он правильно написал
Table1.FieldByName('Имя поля').AsString
Jon_1981 вне форума Ответить с цитированием
Старый 07.06.2007, 04:10   #8
Apollo_13
Пользователь Подтвердите свой е-майл
 
Аватар для Apollo_13
 
Регистрация: 29.05.2007
Сообщений: 20
По умолчанию

Спасибо вам за ответ, но решил сделать так:

procedure TForm1.Button1Click(Sender: TObject);
var a,b,c: integer;
begin
a:=Table1.FieldValues['Value1'];
b:=Table2.FieldValues['Value2'];
c:=a+b;
Richedit1.Text:=inttostr(c);
end;
Apollo_13 вне форума Ответить с цитированием
Старый 07.06.2007, 06:49   #9
Apollo_13
Пользователь Подтвердите свой е-майл
 
Аватар для Apollo_13
 
Регистрация: 29.05.2007
Сообщений: 20
По умолчанию

Спасибо что помогли, я решил сделать такой вариант:

procedure TForm1.Button1Click(Sender: TObject);
var a,b,c: integer;
begin
a:=Table1.FieldValues['Value1'];
b:=Table2.FieldValues['Value2'];
c:=a+b;
Richedit1.Text:=inttostr(c);
end;

P.S. - Еще раз спасибо...
Apollo_13 вне форума Ответить с цитированием
Старый 11.06.2007, 12:12   #10
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

на 1-й и 2-й:

procedure TForm1.Button1Click(Sender: TObject);
begin
with DBLookupComboBox1 do begin
ListSource:=DataSource1;
//ListField := 'pnum';
KeyField := 'pnum' ; // устанавливаешь поля для занесения которое заносится
end;

DBListBox1.Items.Add(DBLookupComboB ox1.Text) ;// заносим из DBLookupComboBox1 в DBListBox1
end;

end.
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Ответ

           Интенсив по Python: Работа с API и фреймворками 3-5 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
           Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема bill Свободное общение 7 08.07.2007 21:05
проблема с URL Scorpeon Помощь студентам 1 18.06.2007 13:28