|
|
|
| Подскажите, как решить проблему... В таблице есть три ячейки: №1-маска ввода 00:00, №2-маска ввода 00:00, а №3=№2-№1 (маска 00:00) Нужно чтобы в ячейке №3 высчитывалось количество времени прошедшее между временем в ячейке №2 и ячейке №1 и отображалось в формате 00:00 | |
|
| |
|
|
|
| №2-№1 возвращает вам разницу времени, но поле №3 в таблице вам не нужно (даже - вредно), если результат всегда можно вычислить, например - в запросе или в форме. | |
|
| |
|
|
|
| Дак мне и нужно чтобы в форме вычислялось в нужной ячейке. Например пользователь в форме занес в ячейку №1 время, затем в ячейку №2 время, а в ячейке №3 автоматически появлялось сколько минут прошло за период между ячейками №2 и №1, в Excel это могу сделать, а в Access нет. | |
|
| |
|
|
|
| Доброго времени суток....
ячейку3 не нужно привязывать к таблице т.е. сделать ее расчетной в свойствах ячейки на вкладке Данные в строке данные написать =[ячейка1]-[ячейка2] (или наоборот) на вкладке Макет в строке Формат поля написать hh\:nn (если нужны секунды то hh\:nn\:ss)
Слово ячейка взято из вашей терминологии..... | |
|
| |
|
43 Кб. |
|
| Чет я все равно не понял, можно разжевать для начинающего чайника
Я тут картинку прикрепил, нужно чтоб в ячейки №1 и №2 можно было время вводить в формате 00:00 не нажимая двоеточия, в №3 автоматом проставлялся результат тоже в формате 00:00, и все это вносилось в таблицу в соответствующие поля. Пробовал как вы объяснили, но чет не получается. Пробовал и в таблице менять формат поля и форме, совсем запутался... | |
|
| |
|
53 Кб. |
|
| Смотрите......
В примере как Вы просите на событие после обновление поля "ячейка2" повешано вычисление поля "ячейка3"
В примере как Вам предлагают вычисление происходит внутри формы | |
|
| |
|
|
|
| Ах - дааа...
как не вводить двоеточие в полях......старею и не сразу вкупаюсь в написанное.....
просто Вы в своем первом вопросе указали что поля имеют маску ввода 00:00 и я подумал у Вас в таблице настроена маска ввода по этому принципу......
видимо что нет
Когда Вы настроите "маску ввода" тогда и про двоеточие забудете | |
|
| |
|
|
|
| Спасибо большое за понимание и помощь!!! | |
|
| |
|
14 Кб. |
|
| А чтобы вычисленный результат отображался в таблице нельзя сделать что-ли, нужно чтобы было как в Excel таблице, которую я прикрепил для просмотра. Я и связался с Access чтобы ускорить заполнение таблицы
В таблице "время на вызов"="вр возвращения"-"вр принятия" | |
|
| |
|
|
|
| А я Вам послал две базы данных то что Вы просили - где результат вносится в таблицу и второй пример где результат в таблицу не вносится.....
Вы в excel поступаете точно так же (мне так кажется) из одного времени вычитаете другое......
и если можно пришлете то что вы сделали...тогда может быть решение ускорится....а то по скринам делать выводы тяжко | |
|
| |
|
13 Кб. |
|
| Вот прикрепил файл... В том варианте где у Вас в таблицу вносится результат он не работает (не вычисляет разницу) подставил формулу в третью ячейку она заработала но в таблице не обновляется... | |
|
| |
|
|
|
| Ну вот теперь можно и подсказать что сделать......
откройте форму в режиме конструктора
поле "время на вызов" в свойствах на вкладке данные в строке данные выбирете "Время на вызов" (ну соответственно без ковычек) тем самым вы увяжите это поле формы с таблицей
поле "Время возвращения" в свойствах на вкладке События в строке После обновления выбирете [Процедура обработки событий] и нажмите маленькую кнопочку с изображением трех точек справа от строки После обновления
Запустится редактор VBA
Между строк Private Sub Время_возвращения_AfterUpdate() и End Sub
вставте строку Me![Время на вызов] = Me![Время возвращения] - Me![Время принятия]
закройте Редактор VBA
сохраните изменения в форме
теперь все это будет работать следующим образом
пользователь вводит время принятия
после этого вводит время возвращения
и как только наступит событие после обновления
данные о времени вызова будут проставлены в форме ну и соответственно в таблице
Только все это будет корректно работать до определенного времени....... ну например время вызова 23:55 и время приезда 00:15 результат будет 23:40
Ща подумаю и пришлю идеи | |
|
| |
|
16 Кб. |
|
| Где то так...... | |
|
| |
|
|
|
| Спасибо большое snipe, буду двигаться дальше | |
|
| |
|
|
|
| Snipe. посмотрите пожалуйста, если будет время, что у меня получилось. Может как профессионал подскажете что можно сделать еще, для оптимизации формы...Вот ссылка на скачивание файла: http://slil.ru/27436582
У меня по форме пока что есть 3 вопроса: 1) Как в полях (фамилия, имя и тд) сделать так чтобы первая буква автоматом становилась заглавной
2) Поле "№ п/п" это счетчик. Проблема в том, что если удалить записи он не обнуляется, например: запись №1, а № п/п - 6
3)Я знаю что можно для запуска создать ярлык, а можно ли сделать чтобы при запуске открывалась главная форма на весь экран, а не в окне...
Буду очень благодарен за помощь и совет специалиста... | |
|
| |
|
|
|
| Я отвечу чуть позже - жена захотела погулять по улице .....
пойду выгуливать... | |
|
| |
|
8 Кб. |
|
| Ну до профессионализма в Access мне как до луны пешком и специалист я совершенно в другой области далекой от программирования - за Access взялся так как надоело делать лишнюю работу теперь создаю вид что ее делаю
а на ваши вопросы ответы в файлике | |
|
| |
|
|
|
| Доброго Вам дня, Snipe! Вы не представляете как я благодарен Вам за помощь и участие... С первыми двумя вопросами разобрался, но никак не могу найти "На событие формы – загрузка" - это в свойствах формы или где??? Очень полезной была информация про загрузку с shiftом, а то я в прошлый раз все поотключал, а как потом назад войти не понял... | |
|
| |
|
|
|
| Это событие формы .......
форма в режиме конструктора ......
любой элемент ...свойства....
сверху ПолеСоСписком
выбрать Форма
на вкладке события строка Открытие .......
И прошу .... по меньше комплиментов Нимб уже сверкает | |
|
| |
|
|
|
| Еще вопрос, если можно... Теперь есть у меня форма, назовем ее "заболевания", все данные вносимые в эту форму сохраняются в таблице "заболевания". Теперь у меня просят создать еще две формы, аналогичные форме "заболевания", назовем их "травмы" и "сантранспорт" и чтобы данные из них сохранялись в таблицах "травмы" и "сантранспорт", аналогичные таблице "заболевания". Как это можно быстрее сделать???
... Все три формы будут в одном .mdb... | |
|
| |
|
|
|
| сами посмотрите на структуру своей базы .....
там одна основная таблица на основе которой построена Ваша форма....остальные таблицы это справочники...
нужно скопировать основную таблицу и основную форму (соответственно обозвать их по другому)
после чего данные новой формы настроить на новую таблицу.....возможно придется так же скопировать и VBA ....
в Вашем случае делов на 5 минут | |
|
| |
|
|
|
| Да, но если просто скопировать форму, то данные из нее будут сохранятся в первой таблице или нет? То что скопировать и переименовать таблицу и форму это я понял, а вот как сделать чтобы из каждой формы информация сохранялась в свою таблицу??? | |
|
| |
|
|
|
| Чем Вас мастер форм не устраивает?
Чтобы форму "привязать" к другой таблице, нужно изменить свойство формы "Источник записей" (вкладка "Данные", окна свойств формы). | |
|
| |
|
|
|
| И действительно просто... Просто я щелкал по форме (чтобы свойства открылись), а нужно было кликать по какому-нибудь полю... | |
|
| |