Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрос на добавление, Добавить новую запись с учетом значений  
:(
    Опции темы
RTV
Дата 17.9.2007, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 11.4.2006
Где: Днепропетровск

Репутация: нет
Всего: нет



Всем доброго дня. В БД Access не получается добавить новую запись с значениями с другой формы. Значения вводит пользователь. на пример на определленную дату(вводит пользователь) добавить определенное время(то же выбирает пользователь), если время занято то в списке нужно выбирать без этого занятого времени.

Зараннее благодарен Всем.
PM MAIL   Вверх
Akina
Дата 17.9.2007, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Вопрос непонятен, а услуги телепатов дороги. Переформулируйте.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
RTV
Дата 17.9.2007, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 11.4.2006
Где: Днепропетровск

Репутация: нет
Всего: нет



Хорошо. Есть таблица в которой есть два поля дата и время. Есть форма в которой нужно ввести дату, а время нужно подставить такое которое еще не занято на эту дату. И потом всюстроку добавить в таблицу с выбранной  датой и свободным временем.


PM MAIL   Вверх
Anark1
Дата 17.9.2007, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 622
Регистрация: 15.12.2006
Где: RF -> Moscow

Репутация: нет
Всего: 11



Создать ограничение на оба поля - уникальность. И при попытке добавить ловить исключение. Или выполнять селект и проверять на наличие уже существующего времени, что на мой взгляд менее рационально.


--------------------
Enjoy yourself, still you can...;)

user posted image

user posted image
PM MAIL ICQ   Вверх
RTV
Дата 17.9.2007, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 11.4.2006
Где: Днепропетровск

Репутация: нет
Всего: нет



Если можно, то прошу поподробнее.

PM MAIL   Вверх
Akina
Дата 17.9.2007, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Разумнее наоборот - по выбору даты делать селект из БД и давать в листбокс только незанятое время.
Однако независимо от того, какой из способов будет организован, придется делать свободную, не привязанную к таблице, форму, заполнять ее контролы и затем вносить в таблицу значения программно. В указанной, ессссно, постановке.

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


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
RTV
Дата 17.9.2007, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 11.4.2006
Где: Днепропетровск

Репутация: нет
Всего: нет



Цитата

Разумнее наоборот - по выбору даты делать селект из БД и давать в листбокс только незанятое время.
Однако независимо от того, какой из способов будет организован, придется делать свободную, не привязанную к таблице, форму, заполнять ее контролы и затем вносить в таблицу значения программно. В указанной, ессссно, постановке.

ХМ дело в том, что теория мне ясна, как сделать практически не понятно. С БД не работал.
PM MAIL   Вверх
Anark1
Дата 17.9.2007, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 622
Регистрация: 15.12.2006
Где: RF -> Moscow

Репутация: нет
Всего: 11



Как вариант - не показывать пользователю "занятое" время, а обработать исключение и показать ближайшее(ые) "занятое(свободное)" время.
Потому как если у меня есть на 2 дня несколько тысяч записей с разницей в поле time на несколько секунд, то работа с ними в ListBox`e очень неудобна. И плюс, Akina, если их все вывести, то когда пользователь добавит запись с уже "занятым" временем, то проверять придется или весь RecordSet, или ЛистБокс. Я даже не знаю что лучше  smile 


--------------------
Enjoy yourself, still you can...;)

user posted image

user posted image
PM MAIL ICQ   Вверх
RTV
Дата 17.9.2007, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 11.4.2006
Где: Днепропетровск

Репутация: нет
Всего: нет



Anark1, я не раскрыл полной задачи сразу, признаюсь ошибка моя, дело в том что время привязывается к людям а для каждого человека должно быть свое время. А диапазон может содержать минимум 30 минут.
PM MAIL   Вверх
Akina
Дата 17.9.2007, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(Anark1 @  17.9.2007,  17:03 Найти цитируемый пост)
когда пользователь добавит запись с уже "занятым" временем, то проверять придется или весь RecordSet, или ЛистБокс

Оба моих варианта предусматривают показ только еще незанятого времени. И дополнительная проверка потребуется только в случае многопользовательской работы (а в этом случае она по-любому потребуется).


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
RTV
Дата 17.9.2007, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 11.4.2006
Где: Днепропетровск

Репутация: нет
Всего: нет



 smile 
PM MAIL   Вверх
kapbepucm
Дата 18.9.2007, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: нет
Всего: 12



RTV, под временем, отведённым для конкретного человека, понимается интервал разной длины? Если да, то начало определённого интервала выбирается произвольно? (Как сам конкретный человек попросит?)

Это сообщение отредактировал(а) kapbepucm - 18.9.2007, 16:44


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
bopoha
Дата 18.9.2007, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



RTV, тебе какой пример нужен? Как форму сделать или как добавить данные в таблицу?
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0679 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.