0 / 0 / 0
Регистрация: 12.02.2010
Сообщений: 87
1

подсчет суммы выбранной строки БД Аксесс 03 в Делфи 7

15.04.2011, 20:39. Показов 4100. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как подсчетать и отобразить в эдит при выборе поле таблицы в бд?
подсчет суммы выбранной строки БД Аксесс 03 в Делфи 7
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2011, 20:39
Ответы с готовыми решениями:

Подсчет суммы в столбце до первой пустой строки и новый подсчет
Уже подзабыл как писать макросы, последний раз это делал несколько лет назад, поэтому прошу помощи...

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

Подсчет суммы чисел входной строки
читает с клавиатуры строку чисел раздельных пробелом и подсчитывает и распечатывает сумму для...

Не правильный подсчет суммы элементов каждой строки
int u1 = new int; int min = 1000; int sum6 = 0; // сумма минимальных элементов каждой...

10
283 / 262 / 32
Регистрация: 11.11.2009
Сообщений: 605
15.04.2011, 22:31 2
Цитата Сообщение от MrJohn Посмотреть сообщение
Как подсчетать и отобразить в эдит при выборе поле таблицы в бд?Вложение 72716
никакого другого способа как подсчитывать самому не существует.
либо в Делфи
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function TForm1.Sum: integer;
var
  Bmk: TBookmark;
begin
  Result := 0;
  with Table1 do begin
    //Чтоб экран не дергался делаем
    DisableControls
    Bmk := GetBookmark;
    First;
    while not Eof do begin
      Result := Result + FieldByName('MySumField').AsInteger;
      Next;
    end;
    GotoBookmark(Bmk);
  end;
end;
либо через запрос с SQL:

SQL
1
SELECT SUM(MyField) FROM ... WHERE ...
0
0 / 0 / 0
Регистрация: 12.02.2010
Сообщений: 87
16.04.2011, 00:30  [ТС] 3
Цитата Сообщение от new_in_net Посмотреть сообщение
никакого другого способа как подсчитывать самому не существует.
либо в Делфи
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function TForm1.Sum: integer;
var
  Bmk: TBookmark;
begin
  Result := 0;
  with Table1 do begin
    //Чтоб экран не дергался делаем
    DisableControls
    Bmk := GetBookmark;
    First;
    while not Eof do begin
      Result := Result + FieldByName('MySumField').AsInteger;
      Next;
    end;
    GotoBookmark(Bmk);
  end;
end;
либо через запрос с SQL:

SQL
1
SELECT SUM(MyField) FROM ... WHERE ...
можно все..

Я подсчетал сумму всего строчек в таблице, а вот выбранную...не выходит
0
283 / 262 / 32
Регистрация: 11.11.2009
Сообщений: 605
16.04.2011, 00:42 4
Цитата Сообщение от MrJohn Посмотреть сообщение
можно все..

Я подсчетал сумму всего строчек в таблице, а вот выбранную...не выходит
честно говоря не понял что у вас не выходит...
0
0 / 0 / 0
Регистрация: 12.02.2010
Сообщений: 87
16.04.2011, 00:52  [ТС] 5
Цитата Сообщение от new_in_net Посмотреть сообщение
честно говоря не понял что у вас не выходит...
КОроче, на фото видна таблица загруженная с бд аксессе..
Есть метка с именем "сумма выбранного поля" - это значит что когда мы вибраем поле с таблицы, стоимость( если оно есть) которая есть в базе, отображало в Edit вот пример
подсчет суммы выбранной строки БД Аксесс 03 в Делфи 7
0
283 / 262 / 32
Регистрация: 11.11.2009
Сообщений: 605
16.04.2011, 00:59 6
Цитата Сообщение от MrJohn Посмотреть сообщение
КОроче, на фото видна таблица загруженная с бд аксессе..
Есть метка с именем "сумма выбранного поля" - это значит что когда мы вибраем поле с таблицы, стоимость( если оно есть) которая есть в базе, отображало в Edit вот пример
Вложение 72756
Может вы имеете ввиду отобразить поле выделенной строки в edit? Тогда бросьте на форму TDBEdit и выбирите соответствующий DataSource & Field
0
0 / 0 / 0
Регистрация: 12.02.2010
Сообщений: 87
16.04.2011, 12:52  [ТС] 7
Цитата Сообщение от new_in_net Посмотреть сообщение
Может вы имеете ввиду отобразить поле выделенной строки в edit? Тогда бросьте на форму TDBEdit и выбирите соответствующий DataSource & Field
Спасибо. Заработало!

А как теперь подсчетать скику товара( как это видно на скрине).? Пасибо!
0
283 / 262 / 32
Регистрация: 11.11.2009
Сообщений: 605
16.04.2011, 16:37 8
Цитата Сообщение от MrJohn Посмотреть сообщение
Спасибо. Заработало!

А как теперь подсчетать скику товара( как это видно на скрине).? Пасибо!
Если известна сумма Х и скидка Y, то % скидки = Y/X*100
(если сумма - 500р, а скидка - 20р, то % скидки вычисляем так: 20/500*100 = 4%)
0
0 / 0 / 0
Регистрация: 12.02.2010
Сообщений: 87
16.04.2011, 17:50  [ТС] 9
Цитата Сообщение от new_in_net Посмотреть сообщение
Если известна сумма Х и скидка Y, то % скидки = Y/X*100
(если сумма - 500р, а скидка - 20р, то % скидки вычисляем так: 20/500*100 = 4%)
Агапов.rar
можешь помоч с кодом, пытался - невыходит..
0
283 / 262 / 32
Регистрация: 11.11.2009
Сообщений: 605
18.04.2011, 19:23 10
Цитата Сообщение от MrJohn Посмотреть сообщение
Вложение 72864
можешь помоч с кодом, пытался - невыходит..
у меня проблема с русскими таблицами и полями, но по крайней мере открыть проект удалось.
Понял что тебе нужно: Вычисляемое поле (calculated field), а потом показываете его опять с помощью TDBEdit

1. double click on ADOTable1
2. Right click - Add Fields. Добавьте все
3. Right click - New Field. введите скажем: Name: Стоимость, Type: Currency, Field Type: Calculated
4. on ADOTable1 добавьте обработку события OnCalcFields:

Delphi
1
2
3
4
5
procedure TForm3.ADOTable1CalcFields(DataSet: TDataSet);
begin
  ADOTable1.FieldByName('Стоимость').AsCurrency :=
    ADOTable1.FieldByName('Цена').AsCurrency * ADOTable1.FieldByName('Количество').AsInteger;
end;
предположив что вы добавили поле "Скидка" типа Currency, можно было бы добавить вычисляемое поле "СкидкаВПроцентах" и в вышеуказанной процедуре дописать вычисление нового поля:
Delphi
1
2
  ADOTable1.FieldByName('СкидкаВПроцентах').AsCurrency :=
    (ADOTable1.FieldByName('Стоимость').AsCurrency - ADOTable1.FieldByName('Скидка').AsCurrency)*100/ADOTable1.FieldByName('Стоимость').AsCurrency;
1
0 / 0 / 0
Регистрация: 08.07.2011
Сообщений: 15
08.07.2011, 07:43 11
Киньте исходник ПЛИИИИИИИИЗ
0
08.07.2011, 07:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.07.2011, 07:43
Помогаю со студенческими работами здесь

Подсчет однотипных данных из текстовой строки и перенос их суммы в соседний столбец
Доброго вечера. У меня возникла проблема такого рода. Есть столбец Z, в который кое-где...

Фильтр по выделенному значению на форме Аксесс (открытом Аксесс Runtime 2003)
Форумчане, доброго времени суток! Прошу Вашей помощи! В Форме_1 Аксесс нужно сделать фильтр...

Склад в Аксесс не получается суммировать приход и вычитать из общей суммы по позиции расход
Не получается придать приличный вид и создать форму или запрос где было видно приход- расход =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru