Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.08.2012, 21:08   #1
TasKKiLLeR13
 
Регистрация: 08.08.2012
Сообщений: 3
По умолчанию Мой проект "Учет пациентов",проблемы реализации

Здраствуйте уважаемые формучане!

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

Delphi+ADO
Принцип работы программы:
Схема данных:


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



Нужно из таблицы "Расположение пациента" переместить запись с изменениями в таблицу "Личная карточка" с заменой. Может как-то по полю номер личного дела. Если совпадают номера личных дел,то заменить.
учебники и статьи я читал...запарился уже...ну никак не получается...
Помогите пожалуйста. Исходник тестовый прикладываю в аттач.


Из таблицы "Личная карточка" в "Расположение пациента" записи то я сделал добавляются..а обратно нужно чтобы заменялось.
Про Update и Insert я начитался..

Код:
procedure TForm1.Button3Click(Sender: TObject);
begin
ADOTable2.Insert;
ADOTable2.FieldByName('Код пациента').AsString :=ADOTable3.FieldByName('Код пациента').AsString;
ADOTable2.Post;

end;
Это просто добавляет запись назад..а мне нужно чтобы он заменял уже имеющуюся запись в таблице Личная карточка. Обновлял чтоли...но чтобы он нашёл нужную запись мне кажется нужно сделать чтобы он сравнивал какое-то поле? Номер личного дела и обновлял всю строку.
Вложения
Тип файла: zip Test.zip (404.6 Кб, 40 просмотров)

Последний раз редактировалось TasKKiLLeR13; 08.08.2012 в 22:47.
TasKKiLLeR13 вне форума Ответить с цитированием
Старый 08.08.2012, 22:19   #2
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

"Принцип" построения таблиц базы непонятен.
В представленном проекте 3 куцых процедуры, где мало чего делается.
Что за дублированная структура таблицы Health в таблице House?
Зачем чего-то куда-то перемещать?

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

Объяснитесь поконкретнее - чего вы, все же, хотите и чего понатворили.
Прик вне форума Ответить с цитированием
Старый 08.08.2012, 22:31   #3
TasKKiLLeR13
 
Регистрация: 08.08.2012
Сообщений: 3
По умолчанию

Хочю не я..хочет главврач...не моя воля..обьяснять ему безполезно...
Таблица Health это личная картока пациента где инофрмация храниться о его заболеваниях и прочем..а в House сделано для того чтобы они знали кто в какой палате лежит и на какой койке...мне просто нужно из одной таблицы перенсети данные с заменой в другую..при этом человек может лежать несколько раз,и я так думаю замена должна быть по сравнению какого-то поля,например по номеру личного дела.

Выписываем пациента из палаты и койки. Переносим запись в таблицу Личная карточка пациента. При этом могут быть изменения полей...например номер палаты или койки. Как сделать чтобы запись эта переносилась назад на нужное место
TasKKiLLeR13 вне форума Ответить с цитированием
Старый 08.08.2012, 23:12   #4
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

"Хочет главврач...". Спорить не будем - вряд ли он хочет знать как чего-то куда-то переносить в БД.

Учет этот достаточно просто делается по стандартной схеме (в инете множество похожих программм).

1. Таблица "Карточки" (назовите как хотите: "Лично дело", например), где хранятся неизменяемые данные по пациенту: Код (счетчик), ФИО, ДР, вес, рост, цвет волос и пр.

2. Таблица "События" (тоже называйте как хотите), где фиксируются во времени все действия происходящие с пациентом.
Структура примерно такая: Код (счетчик), Дата/время, Код_пациента (значение из поля Код таблицы "Карточки"), Код_события (значение из поля Код таблицы "Виды_событий"), Код_отделения (из таблицы "Отделения"), Код_палаты (значение Код из табл. "Палаты"), номер_койки (если надо), Код_врача (из табл. "Врачи"), Код_истории_болезни (из табл "Истории болезни").
Непонятно что такое "Срок", но, скорее всего поле лишнее.

3. Таблица "Виды_событий": Код (счетчик), Наименование.
Здесь значения такие: "Поступление", "Выписка", "Перевод" (это может быть из отделения в отделение или из палаты в палату), что-то еще, если надо.

4. Таблица "Отделения: Код (счетчик), Наименование_отделения, зав. (если надо).

5. Таблица "Врачи": Код (сч), ФИО, Код_специальности (из табл. "Специальности").

6. Таблица "Истории болезни": Код(сч), Код_пацинета (из табл. "Карточки"), дата/время, Код_диагноза (из табл. Диагнозы - не приводится). Здесь же при необходимости можно фиксировать применяемые к пациенту процедуры.

По-другому, будут бесконечные проблемы. Это как айсберг: "Ой, какой маленький"; пока не узнаешь чего у него под водой.

Если охота БД делать нормально так чтобы дембель все же состоялся побыстрее, то отпишите мне на мыло или в личку.
Прик вне форума Ответить с цитированием
Старый 08.08.2012, 23:24   #5
TasKKiLLeR13
 
Регистрация: 08.08.2012
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Прик Посмотреть сообщение

По-другому, будут бесконечные проблемы. Это как айсберг: "Ой, какой маленький"; пока не узнаешь чего у него под водой.

Если охота БД делать нормально так чтобы дембель все же состоялся побыстрее, то отпишите мне на мыло или в личку.
я с вами согласен...

да простят меня за флуд модераторы этого форума..но информации о вашем ящике нету...и в личку не написать(Видимо ограничение какое для прибывших)
TasKKiLLeR13 вне форума Ответить с цитированием
Старый 08.08.2012, 23:30   #6
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Жду здесь: pric280<собака>bk.ru
Прик вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удалить папки из раздела "мой компьютер" - "сеть" Aлeкceй Безопасность, Шифрование 2 05.12.2011 18:10
База данных "Учет посещаемости занятий студентами колледжа" TemnikM Фриланс 3 05.06.2011 16:44
База данных "Учет посещаемости занятий студентами колледжа" TemnikM Помощь студентам 4 05.06.2011 02:33
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
База данных в Delphi "Учет посещаемости студентов в вузе" Айрат Фриланс 11 22.12.2006 18:46