Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Разница во времени
 
 автор: zhebov_andrey   (02.04.2009 в 16:23)   личное сообщение
 
 

Подскажите, как решить проблему... В таблице есть три ячейки: №1-маска ввода 00:00, №2-маска ввода 00:00, а №3=№2-№1 (маска 00:00) Нужно чтобы в ячейке №3 высчитывалось количество времени прошедшее между временем в ячейке №2 и ячейке №1 и отображалось в формате 00:00

  Ответить  
 
 автор: Анатолий (Киев)   (02.04.2009 в 16:54)   личное сообщение
 
 

№2-№1 возвращает вам разницу времени, но поле №3 в таблице вам не нужно (даже - вредно), если результат всегда можно вычислить, например - в запросе или в форме.

  Ответить  
 
 автор: zhebov_andrey   (03.04.2009 в 08:19)   личное сообщение
 
 

Дак мне и нужно чтобы в форме вычислялось в нужной ячейке. Например пользователь в форме занес в ячейку №1 время, затем в ячейку №2 время, а в ячейке №3 автоматически появлялось сколько минут прошло за период между ячейками №2 и №1, в Excel это могу сделать, а в Access нет.

  Ответить  
 
 автор: snipe   (03.04.2009 в 09:16)   личное сообщение
 
 

Доброго времени суток....
ячейку3 не нужно привязывать к таблице т.е. сделать ее расчетной в свойствах ячейки на вкладке Данные в строке данные написать =[ячейка1]-[ячейка2] (или наоборот) на вкладке Макет в строке Формат поля написать hh\:nn (если нужны секунды то hh\:nn\:ss)

Слово ячейка взято из вашей терминологии.....

  Ответить  
 
 автор: zhebov_andrey   (07.04.2009 в 11:38)   личное сообщение
43 Кб.
 
 

Чет я все равно не понял, можно разжевать для начинающего чайника
Я тут картинку прикрепил, нужно чтоб в ячейки №1 и №2 можно было время вводить в формате 00:00 не нажимая двоеточия, в №3 автоматом проставлялся результат тоже в формате 00:00, и все это вносилось в таблицу в соответствующие поля. Пробовал как вы объяснили, но чет не получается. Пробовал и в таблице менять формат поля и форме, совсем запутался...

  Ответить  
 
 автор: snipe   (07.04.2009 в 13:04)   личное сообщение
53 Кб.
 
 

Смотрите......
В примере как Вы просите на событие после обновление поля "ячейка2" повешано вычисление поля "ячейка3"
В примере как Вам предлагают вычисление происходит внутри формы

  Ответить  
 
 автор: snipe   (07.04.2009 в 13:13)   личное сообщение
 
 

Ах - дааа...
как не вводить двоеточие в полях......старею и не сразу вкупаюсь в написанное.....
просто Вы в своем первом вопросе указали что поля имеют маску ввода 00:00 и я подумал у Вас в таблице настроена маска ввода по этому принципу......
видимо что нет
Когда Вы настроите "маску ввода" тогда и про двоеточие забудете

  Ответить  
 
 автор: zhebov_andrey   (07.04.2009 в 13:28)   личное сообщение
 
 

Спасибо большое за понимание и помощь!!!

  Ответить  
 
 автор: zhebov_andrey   (07.04.2009 в 14:17)   личное сообщение
14 Кб.
 
 

А чтобы вычисленный результат отображался в таблице нельзя сделать что-ли, нужно чтобы было как в Excel таблице, которую я прикрепил для просмотра. Я и связался с Access чтобы ускорить заполнение таблицы
В таблице "время на вызов"="вр возвращения"-"вр принятия"

  Ответить  
 
 автор: snipe   (07.04.2009 в 17:29)   личное сообщение
 
 

А я Вам послал две базы данных то что Вы просили - где результат вносится в таблицу и второй пример где результат в таблицу не вносится.....
Вы в excel поступаете точно так же (мне так кажется) из одного времени вычитаете другое......
и если можно пришлете то что вы сделали...тогда может быть решение ускорится....а то по скринам делать выводы тяжко

  Ответить  
 
 автор: zhebov_andrey   (08.04.2009 в 08:58)   личное сообщение
13 Кб.
 
 

Вот прикрепил файл... В том варианте где у Вас в таблицу вносится результат он не работает (не вычисляет разницу) подставил формулу в третью ячейку она заработала но в таблице не обновляется...

  Ответить  
 
 автор: snipe   (08.04.2009 в 10:28)   личное сообщение
 
 

Ну вот теперь можно и подсказать что сделать......
откройте форму в режиме конструктора
поле "время на вызов" в свойствах на вкладке данные в строке данные выбирете "Время на вызов" (ну соответственно без ковычек) тем самым вы увяжите это поле формы с таблицей

поле "Время возвращения" в свойствах на вкладке События в строке После обновления выбирете [Процедура обработки событий] и нажмите маленькую кнопочку с изображением трех точек справа от строки После обновления
Запустится редактор VBA
Между строк Private Sub Время_возвращения_AfterUpdate() и End Sub
вставте строку Me![Время на вызов] = Me![Время возвращения] - Me![Время принятия]
закройте Редактор VBA
сохраните изменения в форме
теперь все это будет работать следующим образом
пользователь вводит время принятия
после этого вводит время возвращения
и как только наступит событие после обновления
данные о времени вызова будут проставлены в форме ну и соответственно в таблице



Только все это будет корректно работать до определенного времени....... ну например время вызова 23:55 и время приезда 00:15 результат будет 23:40
Ща подумаю и пришлю идеи

  Ответить  
 
 автор: snipe   (09.04.2009 в 00:12)   личное сообщение
16 Кб.
 
 

Где то так......

  Ответить  
 
 автор: zhebov_andrey   (09.04.2009 в 08:11)   личное сообщение
 
 

Спасибо большое snipe, буду двигаться дальше

  Ответить  
 
 автор: zhebov_andrey   (10.04.2009 в 14:24)   личное сообщение
 
 

Snipe. посмотрите пожалуйста, если будет время, что у меня получилось. Может как профессионал подскажете что можно сделать еще, для оптимизации формы...Вот ссылка на скачивание файла: http://slil.ru/27436582

У меня по форме пока что есть 3 вопроса: 1) Как в полях (фамилия, имя и тд) сделать так чтобы первая буква автоматом становилась заглавной
2) Поле "№ п/п" это счетчик. Проблема в том, что если удалить записи он не обнуляется, например: запись №1, а № п/п - 6
3)Я знаю что можно для запуска создать ярлык, а можно ли сделать чтобы при запуске открывалась главная форма на весь экран, а не в окне...

Буду очень благодарен за помощь и совет специалиста...

  Ответить  
 
 автор: snipe   (10.04.2009 в 15:32)   личное сообщение
 
 

Я отвечу чуть позже - жена захотела погулять по улице .....
пойду выгуливать...

  Ответить  
 
 автор: snipe   (11.04.2009 в 06:10)   личное сообщение
8 Кб.
 
 

Ну до профессионализма в Access мне как до луны пешком и специалист я совершенно в другой области далекой от программирования - за Access взялся так как надоело делать лишнюю работу теперь создаю вид что ее делаю

а на ваши вопросы ответы в файлике

  Ответить  
 
 автор: zhebov_andrey   (13.04.2009 в 16:31)   личное сообщение
 
 

Доброго Вам дня, Snipe! Вы не представляете как я благодарен Вам за помощь и участие... С первыми двумя вопросами разобрался, но никак не могу найти "На событие формы – загрузка" - это в свойствах формы или где??? Очень полезной была информация про загрузку с shiftом, а то я в прошлый раз все поотключал, а как потом назад войти не понял...

  Ответить  
 
 автор: snipe   (13.04.2009 в 17:52)   личное сообщение
 
 

Это событие формы .......
форма в режиме конструктора ......
любой элемент ...свойства....
сверху ПолеСоСписком
выбрать Форма
на вкладке события строка Открытие .......


И прошу .... по меньше комплиментов Нимб уже сверкает

  Ответить  
 
 автор: zhebov_andrey   (14.04.2009 в 14:11)   личное сообщение
 
 

Еще вопрос, если можно... Теперь есть у меня форма, назовем ее "заболевания", все данные вносимые в эту форму сохраняются в таблице "заболевания". Теперь у меня просят создать еще две формы, аналогичные форме "заболевания", назовем их "травмы" и "сантранспорт" и чтобы данные из них сохранялись в таблицах "травмы" и "сантранспорт", аналогичные таблице "заболевания". Как это можно быстрее сделать???
... Все три формы будут в одном .mdb...

  Ответить  
 
 автор: snipe   (15.04.2009 в 02:26)   личное сообщение
 
 

сами посмотрите на структуру своей базы .....
там одна основная таблица на основе которой построена Ваша форма....остальные таблицы это справочники...
нужно скопировать основную таблицу и основную форму (соответственно обозвать их по другому)
после чего данные новой формы настроить на новую таблицу.....возможно придется так же скопировать и VBA ....
в Вашем случае делов на 5 минут

  Ответить  
 
 автор: zhebov_andrey   (15.04.2009 в 14:05)   личное сообщение
 
 

Да, но если просто скопировать форму, то данные из нее будут сохранятся в первой таблице или нет? То что скопировать и переименовать таблицу и форму это я понял, а вот как сделать чтобы из каждой формы информация сохранялась в свою таблицу???

  Ответить  
 
 автор: Denis V.   (15.04.2009 в 14:47)   личное сообщение
 
 

Чем Вас мастер форм не устраивает?
Чтобы форму "привязать" к другой таблице, нужно изменить свойство формы "Источник записей" (вкладка "Данные", окна свойств формы).

  Ответить  
 
 автор: zhebov_andrey   (17.04.2009 в 08:49)   личное сообщение
 
 

И действительно просто... Просто я щелкал по форме (чтобы свойства открылись), а нужно было кликать по какому-нибудь полю...

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList