Progress-servis55.ru

Новости из мира ПК
6 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Сумма строк в access

Сумма значений в строке

28.12.2011, 03:05

Найти среднее арифметическое из минимальных значений в каждой строке и максимальных значений в каждом столбце
Дана матрица размера M*N. Найти среднее арифметическое из минимальных значений в каждой строке и.

Запись значений ListBox1 в cells, сумма значений listbox и вывод в cells
Доброго времени суток. Требуется, что бы по нажатию кнопки, значения ListBox1, ListBox2, ListBox3.

Сумма значений
Как в sql сделать запрос: значение из одной таблицы сложить со значением из другой и записпать в.

сумма значений
скласти програмУ, використовУю4и підпрограмУ, для знаходження сУми зна4енЬ tg|x-y|, tg2|x-2y|.

28.12.2011, 05:132
Visual Basic
28.12.2011, 05:18 [ТС]3

я имею таблицу типа:
фамилия (виды работ) л/р1 л/р2 л/р 3 Итог
Петров 5 5 5 15
иванов 4 5 5 14
и тд

на экскеле делал изначально но требуется именно аксесс. подскажите как оформить запрос чтобы можно было посчитать сумму оценок по всем видам работ,и результат записать в ячеку итого

28.12.2011, 05:394
28.12.2011, 19:36 [ТС]5
28.12.2011, 20:456
28.12.2011, 20:49 [ТС]7
29.12.2011, 07:588
29.12.2011, 10:079
30.12.2011, 22:4610

данные Фамилия, работа1, работа2, работа3 получаются из исходной таблицы Table1, поле итог отображающее сумму, формируется запросом.

visual studio не является базой данных или сервером БД,
в нём (как и в Delphi) могут использоваться SQL конструкции (запросы) при обращении к подключенной, внешней БД или к серверу БД.
«..как бы выглядел..запрос..» — конечно зависит от подключенной БД, есть небольшое различие в синтаксисе SQL,
но Вашего случая эти различия не затрагивают — конструкции будут одинаковы.

Думаю именно об этом хотели Вам сказать alvk и Agapov_stas.

30.12.2011, 22:46
30.12.2011, 22:46

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Сумма значений по дате
Добрый день, прошу помощи Имеется таблица такого формата: Дата №авто Вес Нужно вычисляемое.

Сумма значений в цикле
она выводит много значений . А я хочу чтобы она выдавала сумму этих значений всех вместе . ulong.

Сумма значений в строках
Дана действительная матрица MxN. Найти сумму наибольших значений элементов ее строк.

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

Вычисляемые поля в запросе БД Access 2003

Вычисления в запросе БД Access 2003

В БД Microsoft Access вычисляемые поля могут быть созданы в запросе, форме или отчете. Вычисляемые поля используются для различных целей, в том числе и для проведения расчетов, Для выполнения подсчетов в вычисляемые поля объектов базы данных Access вводят Выражения. Выражения — это формулы аналогичные формулам Excel, но только вместо ссылок на ячейки в них используются имена полей. Ввод выражений возможен как вручную, так и с помощью Построителя выражений.

Выражения могут содержать следующие элементы:

  • идентификаторы (имя поля и элемента управления, которые заключаются в квадратные скобки);
  • операторы (арифметические, логические, сравнения и другие операторы);
  • функции (готовые формулы, которые состоят из имени и аргумента, помещенного в круглые скобки)
  • константы (элементы, которые не изменяются в Выражении, например Null, Истина, Ложь);
  • значения (например, значения даты и времени, численные положительные или отрицательные значения).
  • =[Оценка]/1,2, где «=» — опрератор, [Оценка] — имя поля, а 1,2 — значение;
  • Date(), где Date — имя функции текущей даты, которая не имеет аргумента.

Рассмотрим создание вычисляемых полей в бланке запроса базы данных Access 2003. Для ввода Выражения в запрос его необходимо открыть в режиме Конструктора. Чтобы создать вычисляемое поле в запросе (в существующем или вновь создаваемом запросе) открытого в режиме конструктора, необходимо ввести Выражение в строку Поле свободного столбца бланка запроса. Выражение может выполнять вычисления, обрабатывать текст, указывать время и дату, проверять данные и т.д. Необходимо отметить, что каждая формула вычисляется только для отдельной строки таблицы бланка запроса.

Рассмотрим создание вычисляемого поля в бланке запроса на примере базы данных Training_students_VP. Постановка задачи: в запросе на выборку (Запрос 3) создать поле, в котором должны отображаться итоговые оценки (ниже на 20% от полученных по результатам рейтинга). Для решения этой задачи откроем бланк «Запроса 3» в режиме конструктора (Рис. 1).

Для создания вычисляемого поля можно применить «Построитель выражений». Для этого надо установить курсор в свободное поле и выбрать на панели инструментов команду Построить (можно также воспользоваться контекстным меню), откроется окно Построитель выражений.

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

Для поставленной задачи в Построитель можно ввести выражение =[Оценка]/1,2 с клавиатуры (Рис.2) и щелкнуть на кнопке ОК.

В результате в бланке запроса появится вычисляемое поле =[Оценка]/1,2

Далее надо закрыть бланк запроса в режиме конструктора и открыть его в режиме таблицы. В таблице вычисляемое поле состоит из слова «Выражение» и цифры 1, которая показывает, каким по счету создано выражение. Необходимо также отметить, что результаты вычислений, отображаемые в записях, не отформатированы.

С учетом вышеизложенного следует изменить название вычисляемого поля и отформатировать его. Для этого необходимо вернуться в режим конструктора и слово Выражение1 заменить на «Итог_оценка». Затем щелкнуть правой кнопкой мыши на вычисляемое поле и в контекстном меню выбрать команду Свойства, откроется диалоговое окно Свойства поля (Рис. 5)

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

Copyright

© Обучение в интернет, .
Обратная связь

BestProg

Пример вычисления общей суммы в таблице базы данных Microsoft Access с использованием SQL -запроса. Компонент TDBText

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

В данной задаче, на примере таблицы Microsoft Access , вычисляется общая сумма с использованием SQL -запроса. Результат вычисления суммы заносится в компонент типа TDBText .

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

Условие задачи

Дана таблица, сформированная средствами СУБД Microsoft Access . Таблица содержит данные с начисленной заработной платой работников предприятия.

Таблица имеет следующую структуру.

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

Решение

  1. Построение формы.

Из панели инструментов Tool Palette нужно разместить на форме следующие компоненты (рис. 1):

– из вкладки “dbGo” компонент TADOConnection. Создается объект с именем ADOConnection1. Этот компонент нужен для связи других компонент с файлом базы данных;

– из вкладки “ Data Access ” компонент TDataSource. Создается объект с именем DataSource1. Этот компонент связывает таблицу базы данных ADOTable1 с компонентом визуализации данных DBGrid1;

– из вкладки « Data Access ” компонент типа TDataSource. Создается объект с именем DataSource2. Этот компонент нужен для связи компонента ADOQuery1 с компонентом DBText1;

– из вкладки “dbGo” компонент типа TADOTable. Создается объект с именем ADOTable1. Этот компонент соответствует таблице Workers базы данных;

– из вкладки «dbGo» компонент типа TADOQuery. Этот компонент нужен для формирования SQL-запроса и отображения результата этого запроса в компоненте TDBText;

– из вкладки “ Data Controls ” компонент типа TDataGrid. Создается объект с именем DBGrid1. Этот компонент отображает таблицу Workers базы данных;

– из вкладки « Data Controls ” компонент типа TDBText. Создается объект с именем DBText1. Этот компонент отображает результат SQL-запроса, который формируется в компоненте ADOQuery1.

Результирующая сумма будет выводиться в компоненте DBText1.

Схема связей между компонентами изображена на рисунке 2.

Рис. 1. Компоненты формы

Рис. 2. Схема связей между компонентами программы

  1. Подключение базы данных. Свойство ConnectionString компонента ADOConnection1.

Процесс подключения приложения к базе данных Microsoft Access подробно описан здесь.

Приложение к базе данных подключается с помощью свойства ConnectionString компонента ADOConnection1 (рис. 3). В свойстве ConnectionString указывается тип поставщика данных и полный путь к файлу базы данных.

Рис. 3. Строка ConnectionString компонента ADOConnection1

  1. Настройка компонент формы.

Следующим шагом нужно осуществить настройку компонент между собой. Для этого нужно установить:

– в компоненте ADOConnection1 свойство LoginPrompt = “false” (запрет постоянного ввода имени пользователя и пароля при подключении к базе данных);

– в компоненте ADOTable1 свойство Connection = «ADOConnection1”;

– в компоненте ADOQuery1 свойство Connection = “ADOConnection1”;

– в компоненте DataSource1 свойство DataSet = “ADOTable1”;

– в компоненте DataSource2 свойство DataSet = «ADOQuery1”;

– в компоненте DBGrid1 свойство DataSource = “DataSource1”;

– в компоненте DBText1 свойство DataSource = “DataSource2”;

– в компоненте ADOTable1 свойство TableName = “Worker”;

– в компоненте DBGrid1 из свойства Options установить опцию dgEditing = false (запрет внесения данных в ячейки таблицы непосредственно из сетки DBGrid1).

  1. Свойство Active компонентаADOTable1.

Для отображения данных в DBGrid1 нужно выполнить следующие действия над компонентом ADOTable1 (рис. 4):

– выделить компонент ADOTable1;

– установить свойство Active в значение true.

После этого данные таблицы будут отображены в DBGrid1.

Рис. 4. Свойство Active компонента ADOTable1

  1. Настройка размеров компонент и формы.

На этом этапе осуществляется корректировка размеров и позиций компонент на форме согласно образцу, показанному на рисунке 5.

Рис. 5. Основная форма приложения

  1. Скрытие поля ID_Worker в DBGrid1.

Поле ID_Worker целесообразно скрыть, поскольку оно есть ключевым полем. Для этого из контекстного меню нужно вызвать редактор полей « Fields Editor ” компонента ADOTable1. Вызов редактора изображен на рисунке 6.

Рис. 6. Вызов редактора « Fields Editor ”

Откроется окно Form1.ADOTable1 . В этом окне, с помощью мышки, нужно вызвать контекстное меню. В контекстном меню выбрать команду « Add All fields ».

В результате окно редактора примет вид, как показано на рисунке 7.

Рис. 7. Редактор полей Form1.ADOTable1

В редакторе полей отображаются все поля таблицы Worker. Чтобы удалить поле ID_Worker нужно на строке ID_Worker сделать клик правой кнопкой «мыши» и в контекстном меню выбрать команду Delete. После этого можно закрыть редактора Form1.ADOTable1.

В результате, в таблице DBGrid1 будет отображено только два поля (рис. 8).

Рис. 8. Отображение таблицы Worker с двумя полями

  1. Установка в поле Salary фильтра для отображения с двумя знаками после запятой.

Для того, чтобы в поле Salary корректно отображалось значение суммы (2 знака после запятой), нужно выполнить следующее.

Выделить компонент ADOTable1. Вызвать редактора полей “Fields Editor… ” так как описано в пункте 6. В результате откроется список состоящий из двух полей Name и Salary. Выделить строку с названием Salary. В Object Inspector будет активирован объект с именем ADOTable1Salary.

Следующим шагом в Object Inspector в поле “ Display Format ” нужно установить значение « 0.00 » (рис. 9).

Рис. 9. Установка формата вывода в поле Salary объекта ADOTable1

После выполненных действий, значения в поле Salary таблицы будут выводиться с точностью 2 знака после запятой.

  1. Настройка компонента Label1.

В компоненте Label1 в свойстве Caption нужно ввести строку « Сумма = ».

  1. Свойство SQL компонента ADOQuery1.

Компонент DBGrid1 предназначен для вывода суммы на основе SQL -запроса. Сам SQL -запрос формируется в компоненте ADOQuery1 в свойстве « SQL… ” (рис. 10).

Рис. 10. Свойство SQL компонента ADOQuery1

После выбора этого свойства, вызовется редактор “ String List Editor ”, в котором нужно ввести текст SQL -запроса (рис. 11).

Для вычисления суммы нужно ввести следующий текст запроса:

После этого набранный текст запроса нужно подтвердить выбором команды (кнопки) «OK”.

Рис. 11. Текст SQL -запроса

В SQL -запросе будет вызвана функция агрегирования SUM, которая входит в синтаксис языка SQL. Функция SUM вычисляет сумму записей заданного столбца (столбца «Salary»). Также в SQL -запросе формируется новое поле с именем « Сумма ” в котором отображается результат суммы.

Функции агрегирования обеспечивают получение некоторой обобщенной информации.

Язык SQL имеет и другие стандартные функции агрегирования, которые можно использовать в программах:

– COUNT – выполняет подсчет записей в таблице или подсчет ненулевых значений в столбце таблицы;

– MIN – возвращает минимальное значение в столбце;

– MAX – возвращает максимальное значение в столбце;

– AVG – вычисляет среднее значение для значений, которые помещаются в столбце.

  1. Свойство Active компонента ADOQuery1.

Как было сказано ранее, результат SQL -запроса отображается в компоненте DBText1. SQL -запрос формируется в компоненте ADOQuery1. Для того, чтобы SQL -запрос был доступен для отображения нужно в компоненте ADOQuery1 свойство Active установить в значение “true” (рис. 12).

Рис. 12. Свойство Active компонента ADOQuery1

  1. Свойство DataField компонента DBText1.

Компонент DBText1 предназначен для отображения только одного значения. Этим значением может быть результат функции агрегирования или значение текущей записи некоторого поля. Поэтому, в этом компоненте предусмотрено свойство DataField (“Поле данных»). В этом свойстве указывается поле, которое должно выводиться в DBText1.

В нашем случае поле имеет название « Сумма ». Это название было введено в тексте SQL -запроса.

Рис. 13. Свойство DataField компонента DBText1

После установления поля DataField результат суммы отобразится в компоненте DBText1 (рис. 14).

Рис. 14. Отображение суммы в компоненте DBText1

  1. Установка вывода результата с точностью 2 знака после запятой в компоненте DBText1.

Поскольку компонент DBText1 получает данные от компонента ADOQuery1, то нужно настроить компонент ADOQuery1.

Последовательность шагов следующая.

Вызвать редактор полей “ Form1.ADOQuery1 ” компонента ADOQuery1 из контекстного меню (см. п. 7).

В редакторе полей вызвать контекстное меню и в этом меню выбрать команду « Add all fields ” (рис. 15).

Рис. 15. Команда « Add all fields ” из редактора полей Form1.ADOQuery1

В результате будет добавлено одно поле « Сумма », которое формируется в тексте SQL -запроса. Автоматически создается объект с именем ADOQuery1Сумма .

После выделения поля « Сумма », в Object Inspector нужно установить свойство DisplayFormat в значение « 0.00 » (рис. 16).

Рис. 16. Установка вывода результата с точностью 2 знака после запятой в DBText1

  1. Запуск приложения на выполнение.

Теперь можно запустить приложение на выполнение.

Читать еще:  Не открывается access
Ссылка на основную публикацию
Adblock
detector