|
|
|
| Здраствуйте!
Имеется 2 поля с оценками. При этом, вместо цифр стоит выбор из "отл", "хор" , "удовл", "неуд". Выбор берется из списка значений.
Как сделать так, чтобы в третьем поле автоматически вычислялась итоговая оценка.
Видимо надо прописать где то какую то функцию для третьего поля, где учитываются все варианты. Что то вроде " если в первом поле "отл", а во втором "удовл", то в итоге имеем "хор". И надо чтобы это "хор" автоматически появлялось в третьем поле после ввода первых двух оценок.
Где и Как прописать эту функцию? вот мой вопрос...
Спасибо. | |
|
| |
|
|
|
| Расчетов в таблице быть не должно.
Расчетные поля можно создавать в запросе к таблицам.
Можно добавить таблицу с тремя полями:
1. Первая оценка
2. Вторая оценка
3. Итоговая оценка.
Добавить все возможные сочетания в нее.
Тогда эту табличку можно объединить с первой табличкой по двум полям, и в запросе выводить поле "Итоговая оценка" этой спец таблички соответствий. | |
|
| |
|
|
|
| "Тогда эту табличку можно объединить с первой табличкой по двум полям, и в запросе выводить поле "Итоговая оценка" этой спец таблички соответствий."
можно это поподробней пожалуйста..
объединить в схеме данных?? | |
|
| |
|
12 Кб. |
|
| Объединить в запросе: пример лайт => | |
|
| |
|
|
|
| Люкас молодчек :)
опять опередил :)
зачем таблица tblTotalMarks - достаточно Query qryExams | |
|
| |
|
|
|
| Для однозначного определения результирующей оценки и возможности ее корректировки. (Я так думаю).
Что за qryExams? | |
|
| |
|
|
|
|
Для однозначного определения результирующей оценки
|
Roger | |
|
| |
|
|
|
| Водка - это "трудная вода"? | |
|
| |
|
|
|
| да нет, что ты...
Сonst Response as Prototype = "Roger"
я еще не начал... | |
|
| |
|
|
|
|
| Спасибо!
а как теперь из запроса информацию в форму выводить? =[Запросы]![имя запроса]![имя поля] почему то не работает... | |
|
| |
|
|
|
| форма строится на основании запроса.
либо мастером - выбирая запрос в качестве данных
либо в форме Свойства-Данные-Источник записисей выбираем нужный запрос (можна воткуть SQL строку запроса) | |
|
| |
|
|
|
| форма была построена на основании таблицы.
При добалении к источникам данных запроса, информация из таблиц и запросов теперь прекрасно отображается....но возникает другая проблема - нельзя теперь изменять и добавлять информацию в форме..как так?) | |
|
| |
|
|
|
|
нельзя теперь изменять и добавлять информацию в форме..как так?)
|
отож
как вариант если девствительно не обойтись без сложных запросов - формировать временную таблу куда загонять каждый раз данные, ее редактировать и по кнопке - Сохранить - разносим все по своим местам. Нужно только с кодом повозится чуть или запросами на обновление сие сделать. | |
|
| |
|
11 Кб. |
|
| что -то слишком сложно - с кодом возится, временную таблу делать
(крылья, ноги - самое главное хвост из мультика крылья,ноги и хвосты)
вот в прицепе
все в табличной форме | |
|
| |
|
|
|
| а можете описать как построить так форму? не получается повторить | |
|
| |
|
|
|
| 1.
Делаем две таблицы
одна из таблиц "справочник" в ней хранятся данные о цифровых значениях оценок и их текстовых аналогах
вторая таблица - это таблица базы данных в которой столбцы числовые т.е. данные об оценках должны храниться в числовом виде
2 делаем форму на основе таблицы базы
два комбо бокса и одно свободное поле
настраиваем комбобоксы
источник строк - ссылаемся на таблицу справочник причем из справочника берем оба столбца с цифрами и текстом (количество столбцов 2)
столбец с цифрами делаем присоединённым (номер столбца в запросе) т.е в таблицу будем передавать число
ширина столбцов - присоединённый столбец скрыть (установить 0, с для столбца с текстом наоборот - задать ширину)
ну и строка данные - установить куда будут передаваться данные в таблице (выбрать имя поля)
смысл такой - юзер видит текстовое значение, но на самом деле комбобокс выдает числовое значение)
в свободном поле пишем формулу
которая выдергивает значение из таблицы справочник(DLookUp) в зависимости от значения целой части полусуммы столбцов int(([поле1]+[поле2])/2)
(правда там еще пара iif затесалась но это на всякий случай если поля пустые)
вроде все | |
|
| |
|
|
|
| Спасибо!!!очень помогли!!!
А случайно не знаете...
Как можно информацию из запроса выводить в форму? Для таблицы это =[Таблицы]![имя таблицы]![имя поля]... аналогичное для запроса не работает... | |
|
| |
|
|
|
| вроде как и для таблицы работать не будет
запрос может быть источником записей для формы - тогда все проще ([имя поля])
можно воспользоваться агрегатными функциями (DFirst, DCount, Dlast, Dmax, Dmin, DlookUp, Dsum) - не самый конечно хороший вариант (подтормаживает) но иногда помогает
можно сделать подчиненную форму на основе запроса и связать по id с основной
да мало ли способов - все зависит от конкретной задачи
(ваш вопрос если чесно ставит в тупик - равносильно как у сороконожки спросили с какой ноги она начинает ходить в итоге она упала- я, к примеру, уже не задумываюсь к чему и как правильно обращаться)
а если без иронии смотрите сами
таблица или запрос имеет двукоординатную систему т.е. для получения конкретного значения нужно знать x и y
обращение к форме по типу Forms![имя формы]![имя поля] отвечает этому условию
отвечает вот почему форма имеет источник записей(таблица, запрос или строка SQL) и при открытии выбирается запись (первая) при желании юзер может передвинуться на нужную запись - таким образом выбирается одна из координат источника записей
вторую координату вы выбираете Forms![имя формы]![имя поля] - таким образом получаете конкретное значение
при обращении [таблица или запрос]![имя поля] - вы передаете только одну координату - вот и ошибка | |
|
| |
|
|
|
| Если не получается в конструкторе, то сделайте сначала мастером, потом разберетесь и подредактируете.
Форма часто строится именно на основании запроса , а не таблицы, где есть уже вычисления:
Формы - создать - мастер форм -выберите нужный вам запрос
на основании которого мастер создаст таблицу.
Но она будет простая.. ленточная.. | |
|
| |
|
|
|
| Извиняюсь! вопрос немного(а может и совсем) другой:
Имеется отчет на базе формы. К полям формы идет обращение через [Формы]![имя формы![имя поля]. Надо чтобы в отчет также можно было добавлять информацию из запросов. Так можно сделать? | |
|
| |
|
|
|
|
что -то слишком сложно - с кодом возится, временную таблу делать
(крылья, ноги - самое главное хвост из мультика крылья,ноги и хвосты)
|
это иногда дает сови плюсы - когда юзер мусолит форму а потом понимает что нужно все вернуть в зад - так вот если слелано на основании временной таблы все можно вернуть , вернее не сохранять изменения, а если крутили в табле то только вести логи - что тоже есть код только сложнее | |
|
| |
|
|
|
| без проверки, но вроде так в структуре таблицы для поля р3 или в форме
=(instr("-нухо",mid(p1 & " ",1,1) )+instr("-нухо",mid(p2 & " ",1,1) ))/2
|
возможно точка с запятой вместо некоторых запятых | |
|
| |