Access как запустить запрос из vba. Формирование строки SQL-запроса в VBA. Запрос SELECT к базе на VBA

Шаталова Л.М.

Лабораторная работа №8

«Вычисления в EXCEL . Использование функций»

Цель работы – изучить возможности стандартных функций программы Excel и приобрести практические навыки использования механизма ввода аргументов функций на примере логических функций, функций ссылок и массивов, а также некоторых финансовых функций.
Программа Excel имеет более трехсот встроенных функций, которые можно использовать как отдельно, так и в составе формулы. Любая функция – это заранее созданная формула, выполняющая определенные операции. Для ввода функций используются элементы управления раздела библиотеки функций вкладки ФОРМУЛЫ ЛЕНТЫ. При выборе пункта «вставить функцию» (Shift + F3) появляется окно «Мастера функций» шаг 1, в котором выполняется выбор конкретной функции (здесь имеется возможность получить справку по выбранной функции). После нажатия клавиши Ok появляется окно шага 2, в котором заполняются строки с аргументами. Справа при этом отображаются введенные данные, а в конце – результат. На этом этапе можно выполнить «работу над ошибками ввода». Функция имеет следующий формат:
Имя функции > (Аргумент 1 ; Аргумент 2 ;…; Аргумент N ) ,
где “;” –разделитель. Разделитель «точка с запятой» определяется Windows .

Аргумент – это: 1)Число или текст, 2)ссылка на адрес ячейки, 3)Диапазон ячеек, 4)Арифметическое выражение (например, А7/А10*35), 5)Другая функция

Программа Excel содержит следующие категории стандартных функций:

Финансовые, Дата и время, Математические, Статистические, Ссылки и массивы, Работа с базой данных, Текстовые, Логические, Проверка свойств и значений, Инженерные, Аналитические.

Лабораторная работа №1. Формулы и функции MS Excel

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

Задание 1 . Сформировать объявления о продаже квартир согласно образцу (рис. 1).

Рис. 1. Объявления о продаже квартир

Сгруппировать имеющиеся данные по квартирам в виде списка (рис. 2).

Рис. 2. Данные о квартирах, выставленных на продажу

В ячейку G2 ввести формулу:

А2&" кв., по "&В2&", площадь: "SD2&", "&Е2&"этаж, "&ТЕКСТ(С2;"# ##0р.")&", "&ECJIИ(F2="+"; "телефон"; "телефона нет")

Объясните данную формулу, воспользовавшись справкой.

Для диапазона G3:G5 воспользоваться маркером автозаполнения либо скопировать данную формулу.

При необходимости отформатировать полученные объявления, используя команду Формат | Автоформат.

Задание 2. Сформировать и заполнить ведомость переоценки основных средств производства по форме, приведенной на рис. 3.

В ячейку А1 ввести название ведомости.

В ячейки A4:F4 ввести названия полей ведомости: Наименование объекта, Балансовая стоимость (БС), Износ объекта (ИО), Остаточная стоимость (ОС), Восстановительная полная стоимость (ВПС), Восстановительная остаточная стоимость (вое). Поле Наименование объекта включает следующие строки: Отдел менеджмента и маркетинга, Отдел транспортировок, Сборочный цех, Отделочный цех, Склад № 1, Склад № 2, Склад № 3, Итого.

Формулы для расчетов:

ОС = БС - ИО

ВПС = БС * К

ВОС = ОС * К

где к - коэффициент, равный:

3,3 - если БС меньше либо равен 650 млн руб.;

4,2 - если БС больше 650 млн руб., но меньше 1000 млн руб.;

5,1 - если БС равен 1000 млн руб. или более.

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

для ячейки D5 : =В5-С5

для ячейки Е5 : =В5*ЕСЛИ(В5<=650;3,3;ЕСЛИ(И(В5>б50;В5<1000);4,2;5,1))

для ячейки F5 : =D5*ЕСЛИ(В5<=650;3.3;ЕСЛИ(И(В5>650;В5<1000);4,2;5.1))

Результирующую строку итого получить использованием, например, для ячейки В12 формулы:

СУММ(В5:В11), либо следует выделить диапазон ячеек B12:F12 и воспользоваться возможностью автосуммирования (нажать кнопку Автосумма на панели инструментов).

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

Рис. 3. Ведомость переоценки основных средств производства

Задание 3 . Сформировать и заполнить отчетную ведомость работы сети компьютерных клубов по форме, приведеной на рис. 4.


Рис. 4. Ведомость работы сети компьютерных клубов

В ячейку А1 ввести название ведомости.

В ячейки АЗ:НЗ ввести названия полей ведомости: клуб, Январь, Февраль, Март, Суммарная выручка, Место, Средняя выручка, процент. Поле Клуб включает следующие строки: Альтаир, Грувит, Полигон, Гелакс, Звезда, Хексен, Антей, Арсенал, Арена, Блиндаж, Итого.

Основные формулы для вычислений, которые копируются для аналогичных вычислений по строкам, представлены в таблице 1.

Формулы для расчета

Отформатировать полученную ведомость.

Задание 4. Сформировать на рабочем листе ведомость "Расчет заработной платы работников научно-проектного отдела "Альфа"(рис. 5).

Рис. 5 Ведомость по расчету заработной платы

В ячейку А2 поместить название ведомости - Расчет заработной платы работников научно-проектного отдела "Альфа", отцентрировать по левому краю (например, командой Формат | Ячейки | вкладка Выравнивание либо соответствующей кнопкой По правому краю (на панели инструментов).

В ячейки АЗ:КЗ ввести названия полей ведомости: № пп, Фамилия И.О., Должность, Тарифная ставка, Стаж, к, Надбавка за стаж, Итого, Процент налога, Удержать, Выплата.

шапке ведомости - к каждому столбцу - создать скрытые примечания. Примечания создаются командой Вставка | Примечание (также можно использовать панель инструментов Рецензирование, которая добавляет командой Вид | Панели инструментов | Рецензирование):

№ пп - номер работника отдела;

Фамилия и.о. - заносятся все фамилии работающих в научно-проектном отделе;

Должность - занимаемая должность на момент заполнения ведомости;

тарифная ставка- денежный эквивалент занимаемой должности;

Стаж- вносится целое число отработанных лет на момент заполнения ведомости;

к- коэффициент за стаж работы;

надбавка за стаж - денежный эквивалент за стаж работы;

итого- начисление заработанной платы с учетом тарифной ставки и стажа работы;

процент налога - определяет процент отчислений в бюджет;

Удержать - денежный эквивалент отчислений в бюджет;

Выплата - сумма, предназначенная к выдаче.

При расчетах в ведомости учитывать следующее:

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

Коэффициент к присваивается из следующего расчета:

0,1 - отработано до 5 лет включительно, 0,2- от 5 до 10 лет включительно, 0,25 - от 10 до 15 лет включительно, 0,3 - свыше 15 лет. Формула для ячейкиF4 :

ЕСЛИ(Е4<=5;0,1;ЕСЛИ(И(Е4>5;Е4<=10);0,2;ЕСЛИ(И(Е4>10; Е4<=15);0,25;0,3)))

надбавка за стаж - денежный эквивалент за стаж работы. Формула для ячейки G4 :

G4 :

(вводится командой Формат | Ячейки | вкладка Число, из списка Числовые форматы выбрать Все форматы и в поле Тип ввести указанный формат).

итого - тарифная ставка с учетом стажа. Формула для ячейки Н4 :

Пользовательский формат числа для ячейки Н4 :

Процент налога - учитывает, что: 2% - начисление (по итого) составляет до 7000 р. включительно, 10%- более 7000 р. до 10 000 р. включительно, 20%- более 10 000 р. до 25 000 р. включительно, 35%- превышающие 25 000 р. Формула для ячейки I4 :

ЕСЛИ(Н4<=7000;0,02;ЕСЛИ(И(Н4>7000;Н4<=10000);0,1;ЕСЛИ(И(Н4>10000;Н4<=25000);0,2;0,35)))

Формат числа для ячейки I4 - Процентный.

Удержать - денежный эквивалент налогов. Формула для ячейки J4 :

Пользовательский формат числа для ячейки J4 :

Выплата - сумма К выдаче: Итого без Удержать.

Требования к столбцу стаж:

Создать пользовательский формат данных, учитывающий стаж работы: до 5 лет - данные представлены желтым цветом, от 5 до 10 - синим, от 10 до 15 - зеленым, свыше 15 - красным.

Воспользоваться командой Формат | Ячейки и ввести пользовательский формат для ячейкиЕ4 :

[Красный]# ##0;

а также использовать команду Формат | Условное форматирование.

В случае ввода отрицательного числа лет должно появляться соответствующее окно. Для проверки

ввода чисел использовать команду Данные | Проверка| вкладка Сообщение об ошибке.

Для поля Тарифная ставка - вывести постоянное сообщение: Тарифная ставка. Будьте внимательны при вводе тарифной ставки для получения которого использовать командуДанные | Проверка | вкладка Сообщение для ввода.

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

# ##0,00р.;[Красный]"Тарифная ставка не может быть

отрицательной!"

Решение

Для основных платежей по займу, который погашается равными платежами в конце или начале каждого расчетного периода, в MS Excel XP используется функция:

ОСПЛТ (Ставка, Период, Кпер, Пс, Бс)

(в более ранних версиях MS Excel эта функция называлась ОСНПЛАТ) В нашем случае функция СППЛТ имеет вид: ОСПЛТ(12%, 4, 5, 1000000000)

Ввод данных и расчеты производятся в соответствии с рис. 4.4.

Рис. 11. Расчет основных платежей по займу

В ячейкуВ8 вводится формула:

ОСПЛТ (В5;В6;В4;ВЗ)

Решение

Для вычисления величины постоянной периодической выплаты ренты (например, регулярных платежей по займу) при постоянной процентной ставке используется функция ПЛТ (в ранних версиях - функция ППЛАТ):

ПЛТ(Ставка; Кпер; Бс; Пс; Тип)

В нашем случае функция ПЛТ имеет вид:

ПЛТ(10%/12; 20*12; -(350000* (1-25%)))- ежемесячные выплаты;

ПЛТ(10%; 20; -(350000* (1-25%)))-ежегодные выплаты.

Решение задачи приведено на рис. 12 и 13.

Рис. 12. Расчет ипотечной ссуды

Рис. 13. Формулы для расчета ипотечной суды

Задание 3. Определить, какая сумма окажется на счете, если 52 000 руб. положены на 20 лет под 11% годовых. Проценты начисляются ежемесячно.

Решение

Для расчета будущей стоимости единой суммы вклада используются сложные проценты, а расчетная формула основана на функции БС (в ранних версиях - функция БЗ):

БС(Ставка; Кпер; Плт; Пс; Тип)

Для нашей задачи функция БС примет вид:

БС(11%/12;20*12; ,-52000)

Решение задачи приведено на рис. 14, а формула для ячейки В26 :

БС(B22/B23;B24*B23;;-B21)

Рис. 14. Расчет будущей стоимости вклада

Задание 4 . Облигация номиналом 200 000 руб. выпущена на 7 лет. Предусматривается следующий порядок начисления процентов: в первый год- 11%, последующие три года- по 16%, в оставшиеся

Решение

Для расчета наращенной стоимости облигации по сложной процентной ставке используется функция:

БЗРАСПИС(Первичное; План)

Для нашей задачи функция принимает вид:

БЗРАСПИС(200000; {11%; 16%; 16%; 16%; 20%; 20%; 20%))

Решение приведено на рис. 15, а формула для расчета в ячейке В42 :

БЗРАСПИС(В30;В34:В40)

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

Рис. 15 Расчет наращенной стоимости облигации по сложной процентной ставке

Решение

Расчет внутренней скорости оборота инвестиций производится с помощью функции ВСД (в ранних версиях - ВНДОХ): ВСД (Значения; Предположения)

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

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

В ячейку В12 вводится формула =ВСД(В4:В9).

примера представлен на рис. 18.

Рис. 17 Окно Подбор параметра


Рис. 18 Рассчитанная величина первоначальных затрат по проекту

Пример расчета эффективности неравномерных капиталовложений

Задание 2. Вас просят дать в долг 15 000 руб. и обещают вернуть через год 3000 руб., через два - 5000 руб., через три - 9000 руб. При какой процентной ставке эта сделка выгодна?

Решение

При решении этой задачи следует использовать функцию ЧПС и средство Подбор параметра:

ЧПС(Ставка; значение 1; значение 2; . . .)

Ввод исходных данных производится в соответствии с рис. 19. Первоначально для расчета выбирается произвольный процент годовой учетной ставки (ячейку с этой величиной можно оставить даже пустой) и производятся вычисления. В ячейку В9 вводится формула: =ЧПС(В6;В2:В4)

Рис. 19. Рабочий лист для решения задачи с неравномерными капиталовложениями

В ячейку С7 можно ввести следующую формулу:

ЕСЛИ(B7=1;"год";ЕСЛИ(И(B7>=2;B7<=4);"года";"лет"))

В поле Установить в ячейке введите В9 , т. е. адрес ячейки, в которой необходимо получить искомое значение суммы сделки (15000);

В поле Значение введите 15000, т. е. само искомое значение суммы сделки;

В поле Изменяя значение ячейки введите адрес ячейки - В8, в которой с помощью средства Подбор параметра будет получена необходимая процентная ставка для рассматриваемой задачи (в случае, если такая существует).

Окончательное решение задачи приведено на рис. 20.

Рис. 19. Окно Подбор параметра для задачи о неравномерных капиталовложениях

Рис. 20 Оптимальная процентная ставка

Лабораторная работа №6. Таблица подстановки

Таблица подстановки позволяет проводить анализ изменения результата при произвольном диапазоне исходных данных. На одном рабочем листе можно расположить несколько таблиц подстановок. Это дает возможность одновременно анализировать различные формулы и статистические данные.

Таблицу подстановки можно использовать для:

Изменения одного исходного значения, просматривая при этом результаты одной или нескольких формул;

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

Использование таблицы подстановки с одной изменяющейся переменной и несколькими формулами

Рассмотрим эту методику на примере расчета ежемесячных выплат по займу (расчет происходит с помощью функции ПЛТ) и платежей по процентам (функция ПРОЦПЛАТ):

Решение такой задачи предполагает следующие шаги:

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

2. Организовать интерфейс таким образом, чтобы все вводимые данные были понятны пользователю:

В соответствующие ячейки рабочего листа вводятся необходимые подписи и данные (рис. 21).

В ячейку В5 - формула: =ПЛТ($В$4/12;$В$3*12;$В$2)

В ячейку D6 - формула: =ПРОЦПЛАТ($D$4;$D$5;$D$3;$D$2)


Рис. 21 Подготовка исходных данных

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

3. После подготовки исходных данных перейти к тому месту рабочего листа, где будут располагаться рассчитываемые значения в зависимости от изменения одной переменной и от различных рассчитываемых формул (рис. 22).

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

Слева расположить различные значения исходных данных, которые необходимо протестировать.


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

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

5. Воспользоваться командой Данные | Таблица подстановки и в диалоговом окне Таблица подстановки (рис. 23) указать, куда и какие значения необходимо подставлять.

В нашем примере - подстановка значений процентной ставки (столбец исходных значений А10:А19) происходит в ячейку В4 , т. к. в этой ячейке изначально указывается величина процентной ставки, входящей в рассчитываемые формулы. Результаты вычислений будут помещены в незаполненные ячейки выделенного диапазона (рис. 24).

Рис. 23 Использование таблицы подстановки

Рис. 24 Рассчитанные значения для одномерной таблицы подстановки

Использование таблицы подстановки с двумя изменяющимися переменными и одной формулой

Рассмотрим эту методику на примере расчета ежемесячных выплат по займу в зависимости от различных сроков погашения и различных процентных ставок. Решение задачи предполагает

следующие шаги:

1. Организовать на рабочем листе соответствующий интерфейс пользователя для некоторого набора входных данных (рис. 25):

Конкретная процентная ставка - 3% (ячейка В4 );

Конкретный срок погашения - 3 года (ячейка ВЗ );

Формула для ячейки В5 :

ПЛТ($В$4/12;$В$3*12;$В$2)

Рис. 25. Подготовка данных задачи

2. Подготовить следующую таблицу (рис. 26):

Изменяемые данные поместить в левый столбец и верхнюю строку- в нашем случае значения процентной ставки (ячейка В4) располагаются в диапазоне В10:В14, а значения срока погашения (ячейка ВЗ ) - в диапазоне C9:F9 ;

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

Рис. 26. Подготовка диапазона для использования двумерной таблицы подстановки

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

4. Выполнить команду Данные | Таблица подстановки и в появившемся окне (рис. 27) указать, куда и какие значения необходимо подставлять.

Рис. 27 Использование таблицы подстановки при расчетах по двум параметрам

В рассматриваемом примере подстановка значений процентной ставки (столбец исходных значений В10:В14 ) происходит в ячейку В4 , т. к. в этой ячейке изначально указывается величина процентной ставки, входящей в рассчитываемую формулу, а подстановка значений сроков погашения (строка значений C9:F9 ) - в ячейку ВЗ . Результаты вычислений будут помещены в незаполненные ячейки выделенного диапазона (28).


Рис. 28.Рассчитанные данные с использованием двумерной таблицы подстановки

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

Исходные данные: затраты по проекту составят 700 млн руб. Ожидаемые доходы в течение последующих 5 лет составят, соответственно, 70, 90,300,250, 300 млн руб. Оценить экономическую

целесообразность проекта по скорости оборота инвестиции, если рыночная норма дохода 12%. Рассмотреть также следующие варианты (затраты на проект представлены числом со знаком минус):

600; 50;100; 200; 200; 300;

650; 90;120;200;250; 250;

500, 100,100, 200, 250, 250.

Рис. 29 Окно Диспетчер сценариев

Решение

Для вычисления внутренней скорости оборота инвестиции (внутренней нормы доходности) используется функция ВСД.:

ВСД (Значения; Предположения)

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

1. Решение приведено на рис. 30. Формулы для расчета:

в ячейкеВ11: =ВСД(В75:В80)

в ячейкеС11: =ЕСЛИ(В84>В82;"Проект экономически целесообразен"; "Проект необходимо отвергнуть")

Рис. 30. Расчет внутренней скорости оборота инвестиций

2. Рассмотрим этот пример для всех комбинаций исходных данных. Для создания сценария следует использовать команду Сервис | Сценарии | кнопка Добавить (рис. 31).

Рис. 31. Добавление сценария для первой комбинации исходных данных

После нажатия на кнопку ОК появляется возможность внесения новых значений для изменяемых ячеек (рис. 32).

Рис. 32. Окно для изменения значений ячеек сценария

Для сохранения результатов по первому сценарию нет необходимости редактировать значения ячеек- достаточно нажать кнопку ОК для подтверждения значений, появившихся по умолчанию, и выхода в окно Диспетчер сценариев (рис. 33).

Рис. 33 Окно Диспетчер сценариев с первым сохраненным сценарием

3. Для добавления к рассматриваемой задаче новых сценариев достаточно нажать кнопку Добавить в окне Диспетчер сценариев и повторить вышеописанные действия, изменив значения в ячейках исходных данных (рис. 34).

На рис. 34 сценарий Скорость_оборота_1 соответствует данным (-700; 70; 90; 300; 250; 300), сценарий Скорость_оборота_2 - данным (-600; 50; 100; 200; 200; 300), сценарий Скорость_оборота_З- данным (-650; 90; 120; 200; 250; 250), сценарий скорость_оборота_4- данным (-500, 100, 100, 200,

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

Рис. 34. Окно Диспетчер сценариев с добавленными сценариями

по расчету скорости оборота инвестиций

Рис. 4.31. Добавление ячеек результата в окно Отчет по сценарию

4. Для полученияитогового отчета по всем добавленным сценариям следует нажать кнопу Отчет в окне диспетчера сценариев. В появившемся окне Отчет по сценарию (рис. 35) выбрать необходимый тип отчета и дать ссылки на ячейки, в которых вычисляются результирующие функции. При нажатии на кнопку ОК на соответствующий лист рабочей книги выводится отчет по сценариям (рис. 36 и рис. 37)

Рис. 36 Отчет типаСтруктура

Рис. 37 Отчет типаСводная таблица по сценариям расчета скорости оборота инвестиций

Решение

Для выполнения задания:

1. Введите данные на рабочий лист в соответствии с рис. 38.

Рис.38 Подготовка данных для построения диаграммы

2. Выделите мышью диапазон А5:В12 и выполните команду Вставка | Диаграмма либо нажмите кнопку мастера диаграмм напанели инструментов Стандартная.

Выбор вида диаграммы - с учетом того, что в примере предложены дискретные статистические данные, подходящий вид диаграммы - гистораммного типа.

Какой ряд выбран в качестве значения данных (заполните поля Ряд и Значения). В нашем случае в поле Ряд вносим объем и в поле Значения - диапазон $В$5: $В$12;

D какой ряд будет служить подписями по оси X - в поле Подписи по оси X вносим год и указываем диапазон $А$5:$А$12.

Рис. 39. Определение рядов данных

4. Отформатируйте полученную диаграмму, используя контекстное меню каждого ее элемента (рис. 40).


Рис. 40. Построенная диаграмма Объем продаж

Задание 2. Построить график функции: у = cos 3 (πx).

Решение

Результат для этого примера представлен на рис. 41.

Для выполнения задания:

1. Задайте область определения X вводом начальных данных: 0 и 0,1, а затем маркером автозаполнения подготовьте весь диапазон А7:А27.

2. В ячейку В7 введите формулу:

=(СОЗ(ПИ()*А7))^3 и скопируйте ее на диапазон В7:В27.

3. Постройте график функции с помощью мастера диаграмм.

4. Отформатируйте полученный график.


Рис. 41 Пример построения графика функции

Решение

А1:J35, A1:J1 )

2. Сформируйте диапазон критериев для расширенного фильтра в соответствии с рис. 43.


Рис. 43. Диапазон критериев для расширенного фильтра к задаче про белые и черные машины

3. Выполните команду

4. Отфильтрованные данные приведены на рис. 44.

Рис. 44. Данные к задаче про белые и черные машины, отобранные расширенным фильтром

Задание 2. Определить, имеются ли в списке (см. рис. 42) машины, год выпуска которых больше 2000 и пробег которых более 100 00 км, но менее 100 000 км, или черные Мерседесы, цена которых более 20 000 у. е., но менее 30 000 у. е.

Решение

1. Откройте список, подлежащий фильтрации (список располагается в диапазоне А1:JЗ5, строка заголовка- в диапазоне A1:J1 )

МЗ:М4 . В ячейку МЗ введите Условие. В ячейку М4 введите формулу:

ИЛИ(И(G2>10000;G2<100000;D2>1990);И(C2="Мерседес";F2="Черный";H2>20000;H2<30000))

3. Выполните команду Данные | Фильтр | Расширенный фильтр.

4. Отфильтрованные данные представлены на рис. 45.

Рис. 45. Данные к задаче о пробеге, отобранные расширенным фильтром

Задание 3. Определить автомобили белого или красного цвета, цена которых меньше средней цены для всех автомобилей и пробег которых больше либо равен среднему пробегу для всех автомобилей (см. рис. 42).

Решение

1. Откройте список, подлежащий фильтрации (список располагается в диапазоне А1:JЗ5 , строка заголовка- в диапазонеA1:J1 )

2. Сформируйте вычисляемый критерий для расширенного фильтра в диапазоне L1:L2 . В ячейку L1 введите Условие. В ячейку L2 введите формулу:

И(ИЛИ(Г2="белый";Г2="красный");Н2<СРЗНАЧ($Н$2:$Н$133); G2 >=СРЗНАЧ($G$ 2:$G$13 3))

3. Выполните команду Данные | Фильтр | Расширенный фильтр.

Решение

1. Выделите список (или - установите в список указатель ячейки) и проведите сортировку (команда Данные | Сортировка) сначала - по полю Продавец, затем - по полю Дата продажи (рис. 47).


Рис. 46. Список продаж

2. Примените команду Данные | Итоги. В окне Промежуточные итоги установите параметры в соответствии с рис. 48: для получения верхнего (первого) уровня итогов - общее количество товаров, проданных конкретным продавцом.

Рис. 47.Сортировка списка

Рис. 48. Окно Промежуточные итоги для получения итогов по полю Продавец

3. Для получения второго уровня итогов поместите указатель ячейки в список с полученными итогами, затем выполните команду Данные | Итоги, установив в окне Промежуточные итоги параметры в соответствии с рис. 49.

Рис.49. Окно Промежуточные итоги для получения итогов по полю Дата продажи

4. Полученные промежуточные итоги представлены на рис. 50.


Рис. 50.Вложенные промежуточные итоги

Консолидация данных

Консолидация предназначается для обобщения однородных данных. Ее осуществление предполагает использование следующей методики:

1. Указать местоположение будущих консолидированных данных.

2. Выбрать команду Данные | Консолидация.

3. В открывшемся окне указать диапазоны данных, подлежащие консолидации.

4. Указать способ консолидации:

Согласно расположению в диапазоне - сняты все флажки области Использовать в качестве имен;

Согласно заголовкам строк и столбцов- установлены

флажки подписи верхней строки и значения левого столбца.

5. Выбрать тип консолидации, т. е. указать, какая операция будет проводиться с консолидируемыми данными.

6. При необходимости указать добавление структуры - установить флажок Создавать связи с исходными данными.

Задание 1. Объединить данные о количестве и стоимости проданных товаров в сети магазинов, которые представлены в виде списка со следующими полями (рис. 51): Товар, Стоимость, Количество, расположены на листе 2, листе 4 и листе 5.

Рис. 51.Данные о реализованных товарах

Консолидация в соответствии с данными рис. 52. Объединенные данные представлены на рис. 53.

Сводные таблицы

Сводные таблицы представляют собой средство для группировки, обобщения и анализа данных, находящихся в списках MS Excel или в таблицах, созданных в других приложениях. Внешне сводные


Рис. 52. Ввод данных в окно Консолидация

Рис. 53. Представление консолидированных данных

Сводные таблицы

Сводные таблицы представляют собой средство для группировки, обобщения и анализа данных, находящихся в списках MS Excel или таблицах, связанных в других приложениях. Внешние сводные таблицы являются структурой, позволяющей размещать данные в трехмерном виде. Сводные таблицы могут использоваться:

Для обобщения большого количества однотипных данных;

Для реорганизации данных (с помощью перетаскивания);

Для отбора и группировки данных;

Для построения диаграмм.

Сводные таблицы создаются с помощью мастера сводных таблиц (команда Данные | Сводная таблица) по следующей методике:

1. Выбрать место для сводной таблицы, т. е. установить указатель ячейки в необходимое место на рабочем листе.

2. Выполнить команду Данные | Сводная таблица.

3. Задать исходный диапазон данных, выполнив шаги 1 и 2 мастера (рис. 54 и 55). После нажатия кнопки Далее в окне мастера, приведенном на рис. 55, откроется окно 3-го шага мастера (рис. 56).

4. Прежде чем указать местоположение будущей таблицы (рис. 56), необходимо нажать кнопку Макет и в открывшемся окне (рис. 57) сформировать макет сводной таблицы (т. е. задать страницу, строки, столбцы, итоговые и вычисляемые поля сводной таблицы).


Рис. 54Определение местоположения данных для сводной таблицы


Рис. 55.Диапазон данных для сводной таблицы


Рис. 56.Указание местоположения будущей сводной таблицы

5. Для определения необходимой операции для полей, помещенных в область Данные, либо задания вычисляемого поля дважды щелкнуть левой кнопкой мыши на поле, помещенном в область Данные (рис. 57), и выбрать необходимые действия в окне Вычисление поля сводной таблицы (рис. 58).

6. Нажать кнопку Параметры (рис. 56) и в открывшемся окне (рис. 59) установить необходимые параметры сводной таблицы.


Рис. 57.Формирование макета сводной таблицы

Рис. 58. Окно Вычисление поля сводной таблицы

Рис. 59. Установка параметров сводной таблицы

7. После проведения всех подготовительных операций нажать кнопку Готово (рис. 56).

При создании, редактировании и работе со сводными таблицами необходимо учитывать следующее:

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

Местонахождение исходных данных – список MS Excel, внешний источник, диапазоны консолидации, находящиеся в другой сводной таблице;

Необходимость при создании структуры сводной таблицы определить:

1) поля, находящиеся в строках и столбцах таблицы;

2) поля, по которым подводятся итоги (с выбором необходимой операции);

3) поля для страниц, что позволяет представить информацию в трехмерном виде.

Сводная таблица – это средство только для отображения данных. Поэтому в самой таблице данные редактировать нельзя. Для изменения данных в сводной таблице необходимо внести изменения в источник данных, а затем обновить сводную (кнопкой Обновить данные на панели инструментовСводные таблицы (рис. 60);

Рис. 60. Панель инструментов Сводные таблицы

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

Целью лабораторной работы является изучение и закрепление навыков работы по вводу данных и использованию формул в Microsoft Excel 2007 .

Ввод данных в электронную таблицу

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

Ввод чисел

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

Для представления чисел в Excel используется 15 цифр, при вводе числа из 16 цифр оно автоматически сохранится с точностью до 15 цифр. Числовые значения автоматически выравниваются по правой границе ячейки.

Ввод значений дат и времени

Excel для представления дат использует внутреннюю систему порядковой нумерации дат. (Так, самая ранняя дата, которую может распознать программа, – 1 января 1900 года, этой дате присвоен порядковый номер 1, следующей дате – порядковый номер 2 и т. д.). Даты вводятся в привычном для пользователя формате и распознаются автоматически. Временные значения также вводятся в одном из распознаваемом форматов времени. Представление даты и времени непосредственно на листе регулируется заданием формата отображения ячейки.

Ввод текста

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



Ввод формулы

Формулой считается любое математическое выражение. Формула всегда начинается со знака «=», может включать в себя, кроме операторов и ссылок на ячейки, встроенные функции Excel.

Форматы данных

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

В Excel имеется набор стандартных форматов ячеек, которые могут применяться во всех книгах (рисунок 2.2.17). Активизировать его можно, выбрав Главная – Число – Числовой формат, либо по контекстному меню для выделенной ячейки на вкладке Число окна Формат ячеек.

Рисунок 2.2.17. Стандартные форматы

Изначально все ячейки таблицы имеют формат Общий. Использование форматов влияет на то, как будет отображаться содержимое в ячейках: общий – числа отображаются в виде целых чисел, десятичных дробей, если число слишком большое, то в виде экспоненциального; числовой – стандартный числовой формат; финансовый и денежный – число округляется до 2 знаков после запятой, после числа ставится знак денежной единицы, денежный формат позволяет отображать отрицательные суммы без знака «минус» и другим цветом; краткая дата и длинный формат даты – позволяет выбрать один из форматов дат; время – предоставляет на выбор несколько форматов времени; - процентный – число (от 0 до 1) в ячейке умножается на 100, округляется до целого и записывается со знаком %; дробный – используется для отображения чисел в виде не десятичной, а обыкновенной дроби; экспоненциальный – предназначен для отображения чисел в виде произведения двух составляющих: числа от 0 до 10 и степени числа 10 (положительной или отрицательной); текстовый – при установке этого формата любое введенное значение будет восприниматься как текстовое; дополнительный – включает в себя форматы Почтовый индекс, Индекс+4, Номер телефона, Табельный номер; все форматы – позволяет создавать новые форматы в виде пользовательского шаблона.

Использование средств, ускоряющих ввод данных

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

1) Автозаполнение при вводе. При вводе одинаковых значений в несколько ячеек с помощью маркера автозаполнения (крестика в нижнем правом углу активной ячейки) можно скопировать значения в смежные ячейки. С помощью открывающегося контекстного меню по нажатию правой кнопки мыши после перетаскивания, можно задать дополнительные параметры автозаполнения (например, введя в ячейки числа 1 и 3, можно получить последовательность чисел с шагом 2 для выделенного диапазона ячеек).

2) Использование прогрессии. Если ячейка содержит число, дату или период времени, который может являться частью ряда, то при копировании происходит приращение ее значения (получается арифметическая или геометрическая прогрессия, список дат). Чтобы задать прогрессию, нужно выбрать кнопку Заполнить панели Редактирование вкладки Главная и в появившемся диалоговом окне Прогрессия задать параметры для арифметической или геометрической прогрессии.

3) Автозавершение при вводе. При помощи этой функции можно выполнять автоматический ввод повторяющихся текстовых данных. После ввода в ячейку текста Excel запоминает его и при следующем введении после набора первых букв слова предлагает вариант для завершения ввода. Для завершения ввода необходимо нажать «Enter». Доступ к этой команде можно также получить выбрав по контекстному меню по правой кнопке мыши пункт Выбрать из раскрывающегося списка. Функция автозавершения работает только с непрерывной последовательностью ячеек.

4) Использование автозамены при вводе. Автозамена предназначена для автоматической замены одних заданных сочетаний символов на другие при вводе. Например, можно задать ввод одного символа вместо ввода нескольких слов. Команда доступна по кнопке Office – Параметры Excel. В пункте Правописание - Параметры автозамены нужно задать текст и его сокращение.

5) Использование сочетания клавиш Сtrl+Enter для ввода повторяющихся значений. Для введения одних и тех же значений в несколько ячеек можно выделить их, ввести значение в одну ячейку и нажать Сtrl+Enter. В результате одни и те же данные будут введены во все выделенные ячейки.

Проверка данных при вводе

Если необходимо быть уверенным в том, что на лист введены правильные данные, можно указать критерии, которые являются допустимыми для отдельных ячеек или диапазонов ячеек. Для задания проверки выполните команду Данные – Работа с данными – Проверка данных. В появившемся окне (рисунок 2.2.18) задайте критерии проверки на вкладке Параметры, текст сообщения-подсказки пользователю для ввода на вкладке Сообщение для ввода, текст сообщения об ошибке на вкладке Сообщение об ошибке.

После применения команды Данные – Работа с данными – Обвести неверные данные все неверные данные будут обведены красными кружками.


Рисунок 2.2.18. Окно задания параметров проверки данных

Использование формул

Под формулой в Excel понимается математическое выражение, на основании которого вычисляется значение некоторой ячейки. В формулах могут использоваться: числовые значения; адреса ячеек (относительные, абсолютные и смешанные ссылки); операторы: математические (+, -, *, /, %, ^), сравнения (=, <, >, >=, <=, < >), текстовый оператор & (для объединения нескольких текстовых строк в одну), операторы отношения диапазонов (двоеточие (:) – диапазон, запятая (,) –для объединения диапазонов, пробел – пересечение диапазонов); функции.

Ввод формулы всегда начинается со знака «=». Результат формулы отображается в ячейке, а сама формула – в строке формул. Адреса ячеек в формуле могут вводиться вручную, а могут просто с помощью щелчка мыши по нужным ячейкам.

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

Способы адресации ячеек

Адрес ячейки состоит из имени столбца и номера строки рабочего листа (например А1, BM55). В формулах адреса указываются с помощью ссылок – относительных, абсолютных или смешанных. Благодаря ссылкам данные, находящиеся в разных частях листа, могут использоваться в нескольких формулах одновременно.

Относительная ссылка указывает расположение нужной ячейки относительно активной (т. е. текущей). При копировании формул эти ссылки автоматически изменяются в соответствии с новым положением формулы (Пример записи ссылки: A2, С10).

Абсолютная ссылка указывает на точное местоположение ячейки, входящей в формулу. При копировании формул эти ссылки не изменяются. Для создания абсолютной ссылки на ячейку, поставьте знак доллара ($) перед обозначением столбца и строки (Пример записи ссылки: $A$2, $С$10). Чтобы зафиксировать часть адреса ячейки от изменений (по столбцу или по строке) при копировании формул, используется смешанная ссылка с фиксацией нужного параметра. (Пример записи ссылки: $A2, С$10).

Замечания

· Чтобы вручную не набирать знаки доллара при записи ссылок, можно воспользоваться клавишей F4, которая позволяет «перебрать» все виды ссылок для ячейки.

Встроенные функции Excel

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

В Excel 2007 существуют математические, логические, финансовые, статистические, текстовые и другие функции. Имя функции в формуле можно вводить вручную с клавиатуры (при этом активируется средство Автозаполнение формул, позволяющее по первым введенным буквам выбрать нужную функцию (рисунок 2.2.19)), а можно выбирать в окне Мастер функций, активируемом кнопкой на панели Библиотека функций вкладки Формулы или из групп функций на этой же панели, либо с помощью кнопки панели Редактирование вкладки Главная.

Рисунок 2.2.19. Автозаполнение формул

Формулы можно отредактировать так же, как и содержимое любой другой ячейки. Чтобы отредактировать содержимое формулы: дважды щелкните по ячейке с формулой, либо нажмите F2, либо отредактируйте содержимое в строке ввода формул.

Присвоение и использование имен ячеек

В Excel 2007 имеется полезная возможность присвоения имен ячейкам или диапазонам. Это бывает особенно удобно при составлении формул. Например, задав для какой-либо ячейки имя Итого_за_год, можно во всех формулах вместо адреса ячейки указывать это имя.

Имя ячейки может действовать в пределах одного листа или одной книги, оно должно быть уникальным и не дублировать названия ячеек. Чтобы присвоить имя ячейкам, нужно выделить ячейку или диапазон и в строке названия ввести новое имя. Либо воспользоваться кнопкой Присвоить имя панели Определенные имена вкладки Формулы и вызвать диалоговое окно (рисунок 2.2.20), чтобы задать нужные параметры.

Рисунок 2.2.20. Окно создания имени

Для просмотра всех присвоенных имен используйте команду Диспетчер имен. Также на листе можно получить список всех имен с адресами ячеек по команде Использовать в формуле – Вставить имена панели Определенные имена.

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

Замечание. Имя может быть присвоено не только диапазонам ячеек, но и формуле. Это удобно при использовании вложенных формул.

Отображение зависимостей в формулах

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

Влияющая ячейка – это ячейка, которая ссылается на формулу в другой ячейке.

Зависимая ячейка – это ячейка, которая содержит формулу.

Чтобы отобразить связи ячеек, нужно выбрать команды Влияющие ячейки или Зависимые ячейки панели Зависимости формул вкладки Формулы. Чтобы не отображать зависимости, примените команду Убрать стрелки этой же панели.

Рисунок 2.2.21. Отображение влияющих ячеек

Режимы работы с формулами

В Excel установлен режим автоматических вычислений, благодаря которому формулы на листах пересчитываются мгновенно. При размещении на листе очень большого количества (до несколько тысяч) сложных формул скорость работы может заметно снизиться из-за пересчета всех формул на листе. Чтобы управлять процессом вычисления по формулам, нужно установить ручной режим вычислений, применив команду Формулы – Вычисление – Параметры вычислений – Вручную. После внесения изменений нужно вызвать команду Произвести вычисления (для пересчета данных на листе книги) или Пересчет (для пересчета всей книги) панели Вычисление.

Полезной возможностью по работе с формулами является отображение всех формул на листе. Это можно сделать, используя команду Формулы – Зависимости формул – Показать формулы. После этого в ячейках вместо вычисленных значений будут показаны записанные формулы. Для возврата в обычный режим нужно еще раз нажать кнопку Показать формулы.

Если формула возвращает ошибочное значение, Excel может помочь определить ячейку, которая вызывает ошибку. Для этого нужно активизировать команду Формулы – Зависимости формул – Проверка наличия ошибок – Источник ошибок. Команда Проверка наличия ошибок помогает выявить все ошибочные записи формул.

Для отладки формул существует средство вычисления формул, вызываемое командой Формулы – Зависимости формул – Вычислить формулу, которое показывает пошаговое вычисление в сложных формулах

Практикум:.

1. Сформировать таблицу расчета суммы ряда (варианты заданий по расчету суммы ряда – см. ниже). При формировании таблицы использовать встроенные функции, абсолютную и относительную адресацию, автозаполнение ячеек.

2. В зависимости от числа слагаемых n оформить таблицу следующим образом:

Таблица 19.

x i 1 2 n S Y
0,1
0,2
.
.
1

Таблица 20.

i x 0,1 0,2 1
1
2
.
.
n
S
Y

3. Используя условное форматирование, выделить отрицательные числа синим цветом, числа больше 1,5 – красным цветом.

4. Оформить таблицу. Образец оформления – ниже. Шаг изменения x в зависимости от варианта задания равен 0,1 (либо Pi/*).


5. Построить в одной координатной сетке (на одной диаграмме) графики s=f(x) и y=f(x).

6. Изучить возможности применения функций (список функций см. в варианте задания), привести пример работы каждой функции.

Таблица 21. Варианты заданий

С помощью макрокоманды ОткрытьЗапрос в базах данных Access можно открывать запросы на выборку и перекрестные запросы в режиме таблицы, в Конструкторе или в режиме предварительного просмотра. Это действие запускает запрос на изменение. Вы также можете выбрать режим ввода данных для запроса.

Примечание: Данная макрокоманда доступна только в среде базы данных Access (MDB или ACCDB). Если вы используете среду проекта Access (ADP), см. макрокоманды ОткрытьПредставление , ОткрытьСохраненнуюПроцедуру и ОткрытьФункцию . Макрокоманда ОткрытьЗапрос недоступна в веб-приложениях Access.

Настройка

Макрокоманда ОткрытьЗапрос имеет следующие аргументы:

Аргумент макрокоманды

Описание

Имя запроса

Имя открываемого запроса. Выберите имя в раскрывающемся списке. Это обязательный аргумент.

При выполнении в базе данных библиотеки макроса, содержащего макрокоманду ОткрытьЗапрос , Access сначала ищет запрос с этим именем в базе данных библиотеки, а затем в текущей базе данных.

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

Примечание: Представления "Сводная таблица" и "Сводная диаграмма" недоступны в версиях Access, начиная с Access 2013.

Режим данных

Режим ввода данных для запроса. Этот параметр относится только к запросам, открытым в режиме таблицы. Выберите Добавить (пользователи смогут добавлять новые записи, но не изменять существующие), Изменить (пользователи смогут изменять существующие записи, а также добавлять новые) или Только для чтения (пользователи смогут только просматривать записи). По умолчанию используется значение Изменить .

Примечания

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

Макрокоманда ОткрытьЗапрос аналогична двойному щелчку запроса в области навигации или его щелчку правой кнопкой мыши в области навигации и выбору представления. При использовании макрокоманды можно выбрать дополнительные параметры.

Советы

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

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

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

Чтобы выполнить макрокоманду ОткрытьЗапрос в модуле Visual Basic для приложений (VBA), используйте метод ОткрытьЗапрос объекта DoCmd .

Эй, я только что-то узнали, как поместить мои заявления SQL в VBA (или по крайней мере их выписывать), но я не знаю, как получить возвращенные данные?

У меня есть несколько форм (диаграмма формы), основанные на запросах, которые я запускать довольно регулярные параметры против, просто изменяя временные рамки (например, топ-10 продаж за месяц своего рода вещи). Тогда у меня есть процедуры, которые автоматически передают объект диаграммы в презентации PowerPoint. Так что я все эти запросы предварительно построены (например, 63), и диаграмма формы, чтобы соответствовать (ну да.... 63... я знаю, что это плохо), а затем все эти вещи созданы на «открыто/закрыть»событие, приводящее к следующему (его, как моей самой лучшей попытка быть хаком.... или домино; в зависимости от того вы предпочитаете).

Так что я пытался узнать, как использовать операторы SQL в VBA, так что в конце концов, я могу сделать все это там (я, возможно, нужно сохранить все эти диаграммы формы, но я не знаю, потому что я, очевидно, не хватает понимания).

Так в стороне от вопроса, что я спросил наверху, кто может дать совет? Спасибо

6 ответов

10

Это немного устаревшей, так что вы можете захотеть, чтобы захватить книга на эту тему . Но, вот тонна доступ к ресурсам и немного учебники и примеры также. Но, в принципе...

Dim dbs As Database Dim rs As Recordset Dim strSQL As String Set dbs = CurrentDb strSQL = "your query here Set rs = dbs.OpenRecordset(strSQL) If Not (rs.EOF And rs.BOF) Then rs.MoveFirst "get results using rs.Fields() Else "Use results

За комментарием: возьмите взгляд на класс записей . Он содержит коллекцию под названием поля, которые являются столбцами, которые возвращаются из вашего запроса. Не зная вашу схему, то трудно сказать, но что-то вроде...

Rs.MoveFirst Do While Not rs.EOF "do something like rs("SomeFieldName") rs.MoveNext Loop

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

Использование параметризованных QueryDef и вызывать его из VBA.
Запрос проще проектировать... легко testable..and легко доступны с помощью VBA или формы.

Dim qd as querydef set qd = currentdb.querydefs!myquerydef qd.parameters!parm1=val1

или qd.execute

Dim rs as recordset set rs = qd.openrecordset()

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

Так что константный или построить строку для вашего SQL заявление, и поп-музыки в вашем продезинфицировать, NON SQL ИНЖЕКЦИЕЙ строку в качестве аргумента:)

StrSQL = "SELECT * FROM Customer WHERE ID = " & EnsureParamIsNotSQLInjection(customerID)

Затем вызвать функцию/к югу от где вам нужно, чтобы получить данные/набор записей/выполнить инструкцию. Создав несколько доступа к данным функциям/подлодки, где вы можете просто запустить оператор UPDATE или извлекаемую одно значение, или извлечь полномасштабные записи.

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

Sub DoStuff(strSQL) Set adoCon = Server.CreateObject("ADODB.Connection") strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db\Database.mdb") "strConnString = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db\Database.mdb") adoCon.Open strConnString Set rsMain = Server.CreateObject("ADODB.Recordset") rsMain.Open strSQL, adoCon Do While NOT rsMain.EOF customerName = rsMain("CustomerName") "silly example RsMain.MoveNext Loop rsMain.Close Set adoCon = Nothing End Sub

Другой способ сделать это, что, кажется, никто не упомянул, чтобы связать ваш график с одной сохраненной QueryDef, а затем во время выполнения, перепишем QueryDef. Теперь, я не рекомендую изменять сохраненные QueryDefs для большинства контекстов, поскольку она вызывает фронтального раздувание и, как правило, даже не нужно (в большинстве контекстов, где вы используете сохраненный QueryDef могут быть отфильтрованы в той или иной, в том контексте, в котором они используются, например, в качестве одной из форм RecordSource, вы просто передать один аргумент в DoCmd.OpenForm).

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

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

PARAMETERS !! Long;

Если вы используете ссылки формы, это важно, что вы делаете это, потому что с Access 2002 на, то Jet Expression Service не всегда корректно обрабатывает их, когда элементы управления Null. Определение их в качестве параметров выпрямляет эту проблему (которая не присутствовала перед тем Access XP).

Одна из ситуаций, в которых вы должны переписать QueryDef для графа, если вы хотите, чтобы позволить пользователю выбрать N в заявлении TOP N SQL. Другими словами, если вы хотите, чтобы иметь возможность выбрать ТОП 5 или ТОП 10 или ТОП 20, вам придется изменить сохраненный QueryDef, так как N не может быть параметризованы.