Доброго времени суток, Посетитель!
|
|
|
|
|
|
|
|
|
вид форума:
|
|
8 Кб. |
|
| Подскажите пожалуйста как получить данные:
Дата Белок Холестерин Тромбоциты
27.04.2010 0,00 7,31 0,00
09.06.2010 0,00 6,15 0,00
08.07.2010 0,00 5,94 0,00
19.08.2010 0,00 6,01 0,00
IIf([тБиохим]![Белок]<=[тPAR]![БелокMin];[тБиохим]![Белок];IIf([тБиохим]![Белок]>=[тPAR]![БелокMax];[тБиохим]![Белок]; IIf([тPAR]![БелокMax]=Noll;Noll;0))) | |
|
| |
|
|
|
| SELECT тБиохим.Дата, тБиохим.Белок, тБиохим.Холестерин, тБиохим.Тромбоциты, DFirst("[БелокMax]","[тPAR]") AS MaxБелок, DFirst("[БелокMin]","[тPAR]") AS MinБелок, IIf([белок]<=[MinБелок],[белок],IIf([белок]>=[MaxБелок],[белок],IIf(IsNull([белок]),Null,0))) AS результат
FROM тБиохим; | |
|
| |
|
|
17 Кб. |
|
| [Белок] работает, подскажите, как чтобы выполнилось условие и для [Холестерин] и [Тромбоциты]
Извините, едущего в танке. | |
|
| |
|
|
|
| что должно быть в результате - скажите русским языком
например
вывести результаты измерений каждого показателя в случае если он выходит за установленные пределы, сгруппировать по дням | |
|
| |
|
|
|
| SELECT тБиохим.Дата, тБиохим.Белок, тБиохим.Холестерин, тБиохим.Тромбоциты, IIf([белок]<=DFirst("[БелокMin]","[тPAR]"),[белок],IIf([белок]>=DFirst("[БелокMax]","[тPAR]"),[белок],IIf(IsNull([белок]),Null,0))) AS БелокРезультат,IIf([Холестерин]<=DFirst("[ХолестеринMin]","[тPAR]"),[Холестерин],IIf([Холестерин]>=DFirst("[ХолестеринMax]","[тPAR]"),[Холестерин],IIf(IsNull([Холестерин]),Null,0))) AS ХолестеринРезультат,IIf([Тромбоциты]<=DFirst("[ТромбоцитыMin]","[тPAR]"),[Тромбоциты],IIf([Тромбоциты]>=DFirst("[ТромбоцитыMax]","[тPAR]"),[Тромбоциты],IIf(IsNull([Тромбоциты]),Null,0))) AS ТромбоцитыРезультат
FROM тБиохим; | |
|
| |
|
|
|
| Explorer , Вы правы,
в таблице «тPAR» указаны интервал нормы анализов, в «тБиохим» указаны сами анализы.
Нужно так чтобы, выводились данные по датам не входящие в интервал нормы анализов.
Snipe , Большое Вам спасибо, все работает. | |
|
| |
|
|
|
| Я бы в запросе отказался бы от функции DFirst и проставил бы значения порогов напрямую
например вот так
SELECT тБиохим.Дата, тБиохим.Белок, тБиохим.Холестерин, тБиохим.Тромбоциты, IIf([белок]<=64,[белок],IIf([белок]>=85,[белок],IIf(IsNull([белок]),Null,0))) AS БелокРезультат, IIf([Холестерин]<=2.3,[Холестерин],IIf([Холестерин]>=5.7,[Холестерин],IIf(IsNull([Холестерин]),Null,0))) AS ХолестеринРезультат, IIf([Тромбоциты]<=180,[Тромбоциты],IIf([Тромбоциты]>=320,[Тромбоциты],IIf(IsNull([Тромбоциты]),Null,0))) AS ТромбоцитыРезультат
FROM тБиохим;
сдается мне что пороги эти не скоро изменят, а так побыстрее работать будет | |
|
| |
|
|
|
|
| точно.
на вскидку
1. для добавлении нового параметра анализа (эритроциты, эозинофилы и т.д.) необходимо менять структуру базы и переписывать все запросы
2. в реалии мин/мах границы некоторых анализов зависят от пола и возраста пациента
... | |
|
| |
|
|
|
|
2. в реалии мин/мах границы некоторых анализов зависят от пола и возраста пациента
|
http://www.mamashka.com.ua/content/view/11949/80/ | |
|
| |
|
15 Кб. |
|
| С темы запрос плавно перехожу в отчет, да в танке глухо.
Подскажите, как сделать, чтобы в отчете не отражались поля с 0(ноль),
оставшиеся поля сдвинуть, чтобы отчет выглядел без пустых промежутков.
Заранее благодарен. | |
|
| |
|
13 Кб. |
|
| В прицепе вариант отчета с использованием UNION запроса.
Несколько замечаний:
1. В вашем отчете Textbox "ТромбоцитыРезультат" возвращает #Ошибка. Это потому, что в запросе- источнике есть одноименное поле. Это допускается, если поле запроса связано с Textbox-ом, а у вас Textbox - вычисляемый. Надо либо переименовать его, либо связать с полем в источнике и скрывать 0 с помощью его св-ва "Формат".
2. Если в таблице "тPAR" всегда одна запись, то можно включить ее в запрос "зКровь" и ссылаться на ее поля напрямую, без функций DFirst. На большом массиве данных будет работать заметно быстрее, да и текст запроса более читабельный.
Все примеры - в файле.
Удачи! | |
|
| |
|
|
38 Кб. |
|
| Подскажите, как привязать поля параметров (норма) анализов.
ОбщийБелокMin
ОбщийБелокMax
Холестерин ОбщийMin
Холестерин ОбщийMax
ТромбоцитыMin
ТромбоцитыMax
SELECT зКровь.Дата, 1 As НомерПоказателя, "Общий белок :" As Наименование, зКровь.ОбщийБелокРезультат As Результат
FROM зКровь WHERE (((зКровь.ОбщийБелокРезультат)>0));
UNION All
SELECT зКровь.Дата, 2, "Холестерин общий :" As Наименование, зКровь.ХолестеринОбщийРезультат
FROM зКровь WHERE (((зКровь.ХолестеринОбщийРезультат)>0));
UNION All
SELECT зКровь.Дата, 3, "Тромбоциты :", зКровь.ТромбоцитыРезультат
FROM зКровь WHERE (((зКровь.ТромбоцитыРезультат)>0));
Не пойму, почему «Тромбоциты» за 27.04.2010 не попали в отчет.
Заранее благодарен. | |
|
| |
|
|
|
| Потому, что у вас норма от ТромбоцитыMin=180 до ТромбоцитыMax=320. Запрос отбирает все, что не входит в этот диапазон, а 27.04.2010 у вас 190, т.е. нотма. | |
|
| |
|
38 Кб. |
|
| Извините, не правильно выразил мысль.
Подскажите, как привязать в запросе поля параметров (норма) анализов
для отображения их так же в отчете.
[ОбщийБелокMin]
[ОбщийБелокMax]
[Холестерин ОбщийMin]
[Холестерин ОбщийMax]
[ТромбоцитыMin]
[ТромбоцитыMax]
SELECT зКровь.Дата, 1 As НомерПоказателя, "Общий белок :" As Наименование, зКровь.ОбщийБелокРезультат As Результат
FROM зКровь WHERE (((зКровь.ОбщийБелокРезультат)>0));
UNION All
SELECT зКровь.Дата, 2, "Холестерин общий :" As Наименование, зКровь.ХолестеринОбщийРезультат
FROM зКровь WHERE (((зКровь.ХолестеринОбщийРезультат)>0));
UNION All
SELECT зКровь.Дата, 3, "Тромбоциты :", зКровь.ТромбоцитыРезультат
FROM зКровь WHERE (((зКровь.ТромбоцитыРезультат)>0));
Заранее благодарен. | |
|
| |
HiProg.com - Технологии программирования
|