![]() |
|
Модераторы: Akina |
![]()
|
|
| RTV |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 11.4.2006 Где: Днепропетровск Репутация: нет Всего: нет |
Всем доброго дня. В БД Access не получается добавить новую запись с значениями с другой формы. Значения вводит пользователь. на пример на определленную дату(вводит пользователь) добавить определенное время(то же выбирает пользователь), если время занято то в списке нужно выбирать без этого занятого времени.
Зараннее благодарен Всем. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Вопрос непонятен, а услуги телепатов дороги. Переформулируйте.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| RTV |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 11.4.2006 Где: Днепропетровск Репутация: нет Всего: нет |
Хорошо. Есть таблица в которой есть два поля дата и время. Есть форма в которой нужно ввести дату, а время нужно подставить такое которое еще не занято на эту дату. И потом всюстроку добавить в таблицу с выбранной датой и свободным временем.
|
|||
|
||||
| Anark1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 622 Регистрация: 15.12.2006 Где: RF -> Moscow Репутация: нет Всего: 11 |
Создать ограничение на оба поля - уникальность. И при попытке добавить ловить исключение. Или выполнять селект и проверять на наличие уже существующего времени, что на мой взгляд менее рационально.
|
|||
|
||||
| RTV |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 11.4.2006 Где: Днепропетровск Репутация: нет Всего: нет |
Если можно, то прошу поподробнее.
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Разумнее наоборот - по выбору даты делать селект из БД и давать в листбокс только незанятое время.
Однако независимо от того, какой из способов будет организован, придется делать свободную, не привязанную к таблице, форму, заполнять ее контролы и затем вносить в таблицу значения программно. В указанной, ессссно, постановке. Возможен иной подход - в таблице хранится дата, время и признак занято/свободно. Тогда достаточно тривиального фильтра по полю занятости - выведется только то что свободно. А при выборе даты, которой нет в таблице добавлять в таблицу несколько записей - с выбранной датой и всеми возможными для нее временами. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| RTV |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 11.4.2006 Где: Днепропетровск Репутация: нет Всего: нет |
|
|||
|
||||
| Anark1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 622 Регистрация: 15.12.2006 Где: RF -> Moscow Репутация: нет Всего: 11 |
Как вариант - не показывать пользователю "занятое" время, а обработать исключение и показать ближайшее(ые) "занятое(свободное)" время.
Потому как если у меня есть на 2 дня несколько тысяч записей с разницей в поле time на несколько секунд, то работа с ними в ListBox`e очень неудобна. И плюс, Akina, если их все вывести, то когда пользователь добавит запись с уже "занятым" временем, то проверять придется или весь RecordSet, или ЛистБокс. Я даже не знаю что лучше |
|||
|
||||
| RTV |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 11.4.2006 Где: Днепропетровск Репутация: нет Всего: нет |
Anark1, я не раскрыл полной задачи сразу, признаюсь ошибка моя, дело в том что время привязывается к людям а для каждого человека должно быть свое время. А диапазон может содержать минимум 30 минут.
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Оба моих варианта предусматривают показ только еще незанятого времени. И дополнительная проверка потребуется только в случае многопользовательской работы (а в этом случае она по-любому потребуется). -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| RTV |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 11.4.2006 Где: Днепропетровск Репутация: нет Всего: нет |
|
|||
|
||||
| kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
RTV, под временем, отведённым для конкретного человека, понимается интервал разной длины? Если да, то начало определённого интервала выбирается произвольно? (Как сам конкретный человек попросит?)
Это сообщение отредактировал(а) kapbepucm - 18.9.2007, 16:44 -------------------- (С) kapbepucm |
|||
|
||||
| bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
RTV, тебе какой пример нужен? Как форму сделать или как добавить данные в таблицу?
|
|||
|
||||
![]()
|
| Правила форума "MS Access" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS Access | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |