Программы "Простой софт" www.prostoysoft.ru

ВНИМАНИЕ! РЕКЛАМНЫЕ СООБЩЕНИЯ И ГИПЕРССЫЛКИ В ФОРУМЕ ЗАПРЕЩЕНЫ (посты удаляются автоматически часто с пользователем)
Текущее время: 18.08.2019 04:46

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Триггер для календаря
СообщениеДобавлено: 11.04.2017 17:16 
Не в сети

Зарегистрирован: 15.12.2014 16:50
Сообщения: 68
Добрый день. Помогите, написать триггер для заполнения календаря. Есть таблица "Поступление пациентов", в ней есть поля "Дата поступления", "Дата выписки", "Палата" и "Пациент". В таблице "Календарь" есть поле "Дата" и много полей с номерами палат. Надо чтобы при добавлении записи в таблицу "Поступление пациентов", заполнялись записи в таблице "Календарь". Т.е. добавляю дату поступления (01.04.2017) и дату выезда (06.04.2017), а так же указываю в поле "Пациент" самого пациента и в поле "Палата" указываю номер палаты. И в таблице "Календарь при этом заполняются строки данным пациентом по датам от 01.04 до 06.04, в поле с номером той палаты которую я указала в таблице "Поступление пациентов", см.рис.1.


Вложения:
Pic1.png
Pic1.png [ 33.31 КБ | Просмотров: 8417 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Триггер для календаря
СообщениеДобавлено: 11.04.2017 17:46 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3650
Откуда: Санкт-Петербург
Добрый день. Если вы хотите, чтобы вам тут написали SQL-команду, то необходимо указывать внутренние имена полей помимо их наименований на русском. А также и скриншот исходной таблицы желательно показать.
Что-то вроде этого ожидаете?

UPDATE [tblКалендарь]
SET [Палата№6] = 'Пупкин'
WHERE [Дата] > #01/01/2017# AND [Дата] < #02/02/2017#

или так

UPDATE [tblКалендарь]
SET [Палата№6] = 'Пупкин'
WHERE [Дата] > '2017-01-01' AND [Дата] < '2017-02-02'

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Триггер для календаря
СообщениеДобавлено: 11.04.2017 21:38 
Не в сети

Зарегистрирован: 15.12.2014 16:50
Сообщения: 68
Ivan писал(а):
Добрый день. Если вы хотите, чтобы вам тут написали SQL-команду, то необходимо указывать внутренние имена полей помимо их наименований на русском. А также и скриншот исходной таблицы желательно показать.
Что-то вроде этого ожидаете?

UPDATE [tblКалендарь]
SET [Палата№6] = 'Пупкин'
WHERE [Дата] > #01/01/2017# AND [Дата] < #02/02/2017#

или так

UPDATE [tblКалендарь]
SET [Палата№6] = 'Пупкин'
WHERE [Дата] > '2017-01-01' AND [Дата] < '2017-02-02'



UPDATE [tblКалендарь]
SET [Палата№6] - вот тут возникает вопрос что прописать вместо [Палата№6]? В таблице "Поступление пациентов" мы указываем номер палаты в поле "Палата", но в таблице "Календарь" номера палат это поля - Палата 1, Палата 2, Палата 3 и т.д. Как программе дать понять в какое поле вносить записи?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Триггер для календаря
СообщениеДобавлено: 11.04.2017 22:19 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3650
Откуда: Санкт-Петербург
Значит должна быть условная конструкция
If НомерПалаты = "Палата№6" Then
s = "Room6"
ElseIf НомерПалаты = "Палата№7" Then
s = "Room7"
...
End If

sSql = "UPDATE ... SET " & s & " = " ...
ExecuteSQL sSql

И таким образом мы приходим, что тип триггера должен быть VBScript, а простой одной SQL-инструкцией тут не обойтись.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB