| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS Access > 5 вопросов по ms access |
| Автор: Shirley 19.5.2007, 16:54 |
| Здравствуйте. Помогите разобраться, пожалуйста. Проблемы такая: 1. Есть таблица с перечнем заказчиков, у каждого заказчика по несколько контактных лиц с определенным телефоном и e-mail’ом, т.е. 4 поля в таблице. Есть форма заказа, в которой выбрав какого-либо заказчика из поля со списком, мы переходим на другое поле со списком “контактное лицо”, в котором уже нужно выбирать не из ВСЕХ контактных лиц, а только из контактных лиц ВЫБРАННОГО заказчика. Далее еще в двух полях со списком должны автоматом появляться телефон и mail данного контактного лица. Никак не получается реализовать:(( 2. Можно ли сделать так, чтобы при переходе из таблицы в форму открывалась именно та запись формы, на которой стоял курсор в таблице? 3. Как можно реализовать такую задумку: фирме надо на 3 дня распределить время выполнения заказов через, например, 5 минут. Есть все та же форма заказа, на которой имеется поле “расчетный срок выполнения заказа”. Менеджер должен щелкая по полю со списком, выбрать дату и время, которые потом не будут доступны для выбора как занятые. При этом каждый день 1 из трех расписанных дней исчезает и вместо него появляется новый. 4. Можно как-то заблокировать запись в форме при ее заполнении, чтобы она не перескакивала на другую, если крутить колесико на мышке? 5. Как происходит одновременная работа нескольких юзеров в сети в базе access? Т.е., например, если один менеджер заполняет одну запись формы, второй при этом заполняет ту же по номеру запись или другую? Наверняка ведь, чтобы избежать путаницы, можно заблокировать запись, которая начала заполняться, так? Извините за глупые вопросы и, пожалуйста, объясните доходчиво, если догадываетесь.. Заранее спасибо |
| Автор: Shirley 20.5.2007, 19:36 |
| Удалось самостоятельно разобраться со всеми пунктами кроме 3 (но если у кого-то есть дельные советы по 1-му, поделитесь, а то мне кажется работает криво..). Идея относительно 3-го пункта: создала таблицу из двух столбцов. 1-й столбец – расписанное через 5 минут время (120 записей – если на один день), он служит источником строк для поля со списком в форме. А выбираемые значения в этом поле заносятся во второй столбец “занятое время”. Они не повторяются. A как сделать, чтобы расписанное через 5 минут время на весь день (или лучше на 3) формировалось автоматически? При этом вместо прошедшего дня чтобы появлялся новый? |
| Автор: Akina 20.5.2007, 22:24 |
| Заведите соотв. таблицу сроков исполнения. 0 - время не занятор, иначе там ID заказа... Если запрошенного дня в таблице нет - добавлякется новая запись, иначе используется существующая. Добавлено через 1 минуту и 34 секунды Должны быть: Таблица заказчиков Таблица контактных лиц Для каждого контактного лица в таблице указано, к какому заказчику он относится. |
| Автор: Shirley 21.5.2007, 10:25 |
| Akina, то, о чем вы написали, получилось, но это ведь не все… Еще раз о том, что конкретно требуется: фирме надо на 3 дня распределить время выполнения заказов через 5 минут. На форме имеется поле “расчетный срок выполнения заказа”. Менеджер должен щелкая по полю со списком, выбрать из наглядного перечня дату и время, которые потом не будут доступны для выбора как занятые. При этом каждый день 1 из трех расписанных дней исчезает и вместо него появляется новый. Вот примерно такой перечень дат должен быть: 01.05.2007 09:00 01.05.2007 09:05 01.05.2007 09:10 01.05.2007 09:15 …. 01.05.2007 19:00 02.05.2007 09:00 02.05.2007 09:05 02.05.2007 09:10 02.05.2007 09:15 …. 02.05.2007 19:00 03.05.2007 09:00 03.05.2007 09:05 03.05.2007 09:10 03.05.2007 09:15 …. 03.05.2007 19:00 Если вбить его вручную в таблицу, то все конечно работает, но нужно чтобы он формировался программно (а не чтобы я его каждый день переписывала) и чтобы прошедший день заменялся на новый. Потом я сообразила, что еще к тому же должны учитываться праздники и выходные. Не представляю, что мне с этим делать. Если не сложно, расскажите и поподробнее…. Пожалуйста!! |
| Автор: Akina 21.5.2007, 13:21 | ||||
| Ну так я же говорю: формируете таблицу сроков исполнения: ID xDate xTime xOrder Проверяете количество доступных дней для заказа:
Если получено менее 3, то делаете Insert соотв. кол-ва записей с очередной датой. В контрол подаете
Если какое-то время выбрано, то в xOrder проставляете OrderID, и более это время в контрол не попадет. |
| Автор: Shirley 24.5.2007, 14:17 |
| Akina, спасибо, все получилось! |