| 
| 
 | Вопрос # 1 674/ вопрос открыт / | 
 |  Здравствуйте, эксперты!Задача:Психолог опрашивает пациента и заносит баллы для соотвествующих вопросов.Цель необходимо подсчитать итог(сумму баллов)по каждой попытке заполнения.Есть база данных в Access,которая имеет таблици: есть таблица данные,куда заносится дата заполнения,номер попытки,имеется поле итого.Число попыток не ограничено.таблица опрос в которой выбрав из выподающего списка вопрос и ставится балл.Число вопросов не ограничено и их мы можем увеличить.для этого,имеется таблица вопросы где хранятся вопросы,она являетя справочником.Открыв форму с таблицей данные и выбрав необходимую попытку,двойным щелчком на таблице можем просмотреть вопросы и заполненные баллы.Таблици данные и опрос связаны ключами.Используются компоненты ADOConnection,ADOTable,DataSource.Данные ваводятся DBGrid.Необходимо подсчитаь сумму баллов которые заносятся в таблицу опрос,записываемые в таблице в один столбец-балл, и вывисти в таблицу данные в поле итого.Как это можно реализовать?(отправляю программу,где все можно посмотреть.Запускаем главную форму жмем просмотр пациентов выбираем необходимого и жмем просмотр,в личной карточке переходим на историю болезни и жмем просмотр таблици данные,где можем осуществить заполнение опроса) К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса) 
|  |   Вопрос задал: kanyen (статус: Посетитель)Вопрос отправлен: 11 июня 2008, 18:28
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, kanyen!Просмотрел я вашу программу, не нашёл, где же там сами вопросы. Надпись в окне "программа вмешательства" порадовала. люблю я за это психологов.
 Но не об этом разговор.
 Что бы реализовать запоминание ответов на вопросы и делать различный выборки по ним, обычно делают такую табличку.
 id_пациента - целове
 id_вопроса - целое
 номер_попытки - целое
 номер_ответа - целое или "правильно_ответил" - логическое.
 бал - целое
 
 И ответы всех пациентов заносим в эту табличку. теперь, когда надо подсумировать балы какого то пациента по какому то тесту, то пишем где то такой запрос
 select sum(бал) from таблица where id_пациента = ??? and номер_попытки = ??? group by бал
 Добавив чуточку фантазии, можно выбирать и список всех пациентов с их балами, или по какой то попытке. Главное придумать.
 
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 11 июня 2008, 23:13
 Оценка за ответ: 4
 |  
 Мини-форум вопросаВсего сообщений: 3; последнее сообщение — 12 июня 2008, 09:06; участников в обсуждении: 2. 
|   | kanyen (статус: Посетитель), 12 июня 2008, 02:18 [#1]:Здравствуйте, эксперты!можно ли реализовать данную задачу не используя запросы? |  
|   | kanyen (статус: Посетитель), 12 июня 2008, 02:20 [#2]:Здравствуйте, эксперты!Что необходимо для этого написать? |  
|   | Вадим К (статус: Академик), 12 июня 2008, 09:06 [#3]:Реализовать без запросов? можно, но прийдётся всё это реализовывать вручную. То, что можно написать в 3-4 строки с применением SQL запросов, вручную часто может вылиться в сотни строк. Галочка "подтверждения прочтения" - вселенское зло. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |