Можете да използвате изчисляеми контроли във формуляри и отчети в бази данни на Access, за да покажете резултатите от изчисление. Ако например имате отчет, който показва броя на продадените артикули и цената на всяка единица, можете да добавите изчисляемо текстово поле, което умножава тези две полета, за да покаже общата цена. Свойството Източник за контролата на изчисляемото текстово поле съдържа израз, който умножава две полета (броят на елементите по единична цена), за да получи резултата.
Какво искате да направите?
Създаване на изчисляема контрола
Тази процедура ви помага да създадете изчисляема контрола, без да използвате съветник за контроли.
-
Щракнете с десния бутон върху формуляра или отчета в навигационния екран и след това щракнете върху Режим на проектиране.
-
В раздела Проектиране , в групата Контроли щракнете върху инструмента за типа на контролата, която искате да създадете.
За списък с типовете контроли, които могат да се използват като изчисляеми контроли, вж. раздела Научете кои типове контроли могат да се използват като изчисляеми контроли.
-
Поставете показалеца там, където искате контролата да бъде поставена във формуляра или отчета, и след това щракнете върху формуляра или отчета, за да вмъкнете контролата.
-
Ако се стартира съветник за контроли , щракнете върху Отказ, за да го затворите.
-
Изберете контролата, натиснете F4, за да покажете списъка със свойства, и след това въведете израз в полето на свойството Източник за контролата . За да използвате конструктор на изрази за създаване на израза, щракнете върху до полето на свойството Източник за контролата .
-
Превключете към изглед за формуляри или изглед за отчет и проверете дали изчисляемата контрола работи, както очаквате.
Забележки:
-
Предшествайте всеки израз с оператора = . Например: =[Единична цена]*.75.
-
За повече информация относно създаването на изрази вж. статията Научете се да създавате израз.
-
Ако имате нужда от повече място, за да въведете израз в полето на свойството Източник за контролата , натиснете SHIFT+F2, за да отворите полето Мащабиране .
-
Ако вашият формуляр или отчет се базира на заявка, може да искате да поставите израза в заявката, вместо в изчисляема контрола. Това може да подобри производителността и ако ще изчислявате общи суми за групи записи, е по-лесно да използвате името на изчисляемо поле в агрегатна функция.
-
Когато сортирате по изчисляема контрола във формуляр или отчет, уверете се, че свойството Формат на контролата е зададено по подходящ начин. В противен случай изчисляемите числови стойности или стойности за дата може да се сортират по азбучен ред, а не по числов ред.
-
Промяна на обвързана контрола в изчисляема контрола
Добър начин за създаване на изчисляема контрола е първо да създадете обвързана контрола (например чрез плъзгане на поле от екрана Списък на полетата във вашия формуляр или отчет) и след това да редактирате свойството Източник за контролата на обвързаната контрола, за да създадете израз. Това работи добре, стига да сте сигурни, че името на контролата не е в конфликт с никое от имената на полетата, съдържащи се в израза. За повече информация за създаването на обвързана контрола чрез плъзгане на поле от екрана Списък на полетата вж. статията Добавяне на поле към формуляр или отчет.
Ако приемем, че вече сте създали вашата обвързана контрола, използвайте следната процедура, за да я промените на изчисляема контрола и да избегнете конфликти на имена.
-
Щракнете с десния бутон върху формуляра или отчета в навигационния екран и след това щракнете върху Режим на проектиране.
-
Щракнете върху полето, което искате да промените, и след това натиснете F4, за да отворите списъка със свойства.
-
В раздела Всички на списъка със свойства, ако свойството Име съответства на свойството Източник за контролата , редактирайте свойството Име , така че двете свойства да не съвпадат. Уверете се, че името, което въвеждате, не е запазена дума или името на друго поле във вашата база данни. За повече информация относно запазените думи вж. статията Научете повече за запазените думи и символи в Access.
-
Редактирайте низа в полето на свойството Източник за контролата , така че да съдържа израза, който искате.
-
Натиснете CTRL+S, за да запишете промените.
-
Превключете към изглед на оформление или изглед на формуляр и проверете дали изчисляемата контрола работи, както очаквате.
Ако контролата не показва желаните данни (например ако Access показва #Name? в контролата), проверете източника на записите на формуляра или отчета, за да се уверите, че всички полета, които сте използвали в израза, са достъпни. Ако източникът на записи е заявка, може да се наложи да добавите едно или повече полета към заявката, преди изразът да работи.
Забележки:
-
Предшествайте всеки израз с оператора = . Например: =[Единична цена]*.75.
-
Ако имате нужда от повече място, за да въведете израз в полето на свойството Източник за контролата , натиснете SHIFT+F2, за да отворите полето Мащабиране .
-
Ако вашият формуляр или отчет се базира на заявка, може да искате да поставите израза в заявката, вместо в изчисляема контрола. Това може да подобри производителността и ако ще изчислявате общи суми за групи записи, е по-лесно да използвате името на изчисляемо поле в агрегатна функция.
-
Когато сортирате по изчисляема контрола във формуляр или отчет, уверете се, че свойството Формат на контролата е зададено по подходящ начин. В противен случай изчисляемите числови или дати могат да се сортират по азбучен ред, а не по числов ред.
Научете кои типове контроли могат да се използват като изчисляеми контроли
Текстовите полета са най-популярният избор за изчисляема контрола, тъй като могат да показват толкова много различни типове данни. Обаче всяка контрола, която има свойство Източник за контролата , може да се използва като изчисляема контрола. В много случаи няма смисъл да използвате определен тип контрола като изчисляема контрола, защото не можете да актуализирате тази контрола по начина, по който можете да актуализирате обвързана или необвързана контрола. Ако например поставите контрола квадратче за отметка във формуляр и след това въведете израз в свойството Източник за контролата на квадратчето за отметка, повече не можете да поставяте или изчиствате отметката от квадратчето, като щракнете върху него. Квадратчето за отметка се показва като избрано или изчистено въз основа на резултатите от израза. Ако щракнете върху квадратчето за отметка, Access показва известие в лентата на състоянието на Access: Контролата не може да се редактира; тя е обвързана с израза <вашия израз>. В даден отчет обаче може да е полезно да базирате контрола квадратче за отметка върху резултатите от изчисление, тъй като контролите в отчетите се използват само за показване на информация.