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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Важно! Как посчитать в базе данных Access 2007 (база данных .mdb) дата/время?
 
 автор: Юра_Комышанский   (30.04.2010 в 17:20)   личное сообщение
17 Кб.
 
 

Уважаемые форумчане! Очень прошу помочь!!! Вопрос жизни и смерти...
Здесь я первый раз, и Access'ом пользуюсь на начальном уровне...
У меня курсовая, в ней нужно много чего сделать, но пока что меня интересует в ней одно, расскажу по порядку.
Заранее извиняюсь, живу в Украине, требования к базе данных Access на украинском языке.
По заданию курсовой создаем базу данных Access "Комп'ютерний клуб", в ней должно быть поле - "Час проведений за комп'ютером" - время, проведенное клиентом, естественно. Создаю одно поле "Початок роботи", второе - "Кінець роботи". Формат данных - дата/время. Третье поле "Час проведений за комп'ютером". формат данных - дата/время. Пробовал посчитать "Час проведений за комп'ютером" через построитель выражений, мучился долго, но ничего не получилось...
Сроки горят, помогите, пожалуйста! Я в свою очередь помогу чем смогу...
Для прощего понимания кидаю вложением свою пока что не законченную базу данных...

  Ответить  
 
 автор: kot_k_k   (30.04.2010 в 17:35)   личное сообщение
 
 

третье поле по своей сути не нужно, в форму/отчет ставим вычисляемое поле:

=DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])


Возвращает значение типа Variant (Long), указывающее число временных интервалов между двумя датами.

Синтаксис

DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])

Синтаксис функции DateDiff содержит следующие именованные аргументы:

Элемент    Описание
interval              Обязательный.  Строковое выражение, указывающее тип временного 
                               интервала, который следует использовать при вычислении разности между  
                               датами date1 и date2.
date1, date2    Обязательные.  Значения типа Variant (Date).  Две даты, разность 
                                        между которыми следует вычислить.
firstdayofweek    Необязательный.  Константа, указывающая первый день недели.  Если 
                                           этот аргумент опущен, считается, что неделя начинается с воскресенья.
firstweekofyear    Необязательный.  Константа, указывающая первую неделю года.  Если 
                                         этот аргумент опущен, первой неделей считается неделя, содержащая 1 
                                             января.
Значения

Ниже перечислены допустимые значения аргумента interval:

Значение    Описание
yyyy    Год.
q    Квартал.
m    Месяц.
y    День года.
d    День месяца.
w    День недели.
ww    Неделя.
h    Часы.
n    Минуты.
s    Секунды.

  Ответить  
 
 автор: kot_k_k   (30.04.2010 в 17:41)   личное сообщение
 
 

УБЕРИ ИЗ НАЗВАНИЙ ПОЛЕЙ И ТАБЛИЦ (форм, отчетов, запросов) КИРИЛИЦУ!!!

  Ответить  
 
 автор: Юра_Комышанский   (30.04.2010 в 17:48)   личное сообщение
 
 

Извиняюсь, поясните поподробнее! Форм, отчетов, запросов ещё нет! И зачем её убирать? И как писать, без пробелов или по-английски?
Заранее спасибо!

  Ответить  
 
 автор: Юра_Комышанский   (30.04.2010 в 17:53)   личное сообщение
 
 

Извиняюсь, но форм или отчетов ещё нет, мне как бы чтоб в таблице, автоматом выбивало в поле "Час проведений за комп'ютером" время в часах и минутах, неужели нельзя через построитель выражений?
Спасибо!

  Ответить  
 
 автор: Explorer   (30.04.2010 в 18:10)   личное сообщение
 
 


неужели нельзя через построитель выражений?


лучше через магазин :)

  Ответить  
 
 автор: Анатолий (Киев)   (30.04.2010 в 17:52)   личное сообщение
 
 

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

Час проведений за комп'ютером: CDate([Кінець роботи]-[Початок роботи])
или, если человек еще работает (поле Кінець роботи не заполнено):
Час проведений за комп'ютером: CDate(NZ([Кінець роботи];Now()) -[Початок роботи])

  Ответить  
 
 автор: Explorer   (30.04.2010 в 18:10)   личное сообщение
 
 

и дата відвідування тоже не нужна

  Ответить  
 
 автор: Юра_Комышанский   (30.04.2010 в 18:13)   личное сообщение
41 Кб.
 
 

Я начинаю понимать, Анатолий! Но чтобы и вы меня полностью поняли, выложу я для обозрения вложением задание курсовой!
Спасибо огромнейшее!!!

  Ответить  
 
 автор: Explorer   (30.04.2010 в 18:31)   личное сообщение
42 Кб.
 
 

==>>

  Ответить  
 
 автор: Юра_Комышанский   (30.04.2010 в 18:50)   личное сообщение
41 Кб.
 
 

Уважаемый, спасибо за Вашу оперативную помощь! Частично я Вас понял, и просмотрел Ваше вложение... Не посчитайте меня нубом в этом деле. Но на первых порах мне это тяжело дается...
Мне по ходу условия задания нужно, чтобы названия полей были на украинском языке...
Задание курсовой вкладываю вложением...
Пожалуйста, просмотрите! Курсовая горит, я не прошу за меня делать её, мне просто понять и пойти в нужном направлении!
Заранее спасибо за помощь!!!

  Ответить  
 
 автор: Explorer   (30.04.2010 в 19:05)   личное сообщение
42 Кб.
 
 


Мне по ходу условия задания нужно, чтобы названия полей были на украинском языке...


название полей могут быть только на Английском или транслитом Латиницей.
не устраивает - переименовывайте сами, у меня рука не поднимется

возможен ли параллельный запуск приложений в течение одной сессии пользователя?

методичку вашу не читал - мне не интересно

в приложении экземпл с парой запросов.
все на скорую руку мастером,
с наступающим праздником всех

  Ответить  
 
 автор: Lukas   (30.04.2010 в 19:14)   личное сообщение
 
 

...в приложении экземпл с парой запросов...
: )

  Ответить  
 
 автор: Explorer   (30.04.2010 в 19:27)   личное сообщение
 
 

шорт побьери! да, не сохранились запросы в zipe

ну значит не судьба

  Ответить  
 
 автор: Lukas   (30.04.2010 в 19:44)   личное сообщение
 
 

Главное таблички на месте, остальное наростет. : )

  Ответить  
 
 автор: Юра_Комышанский   (30.04.2010 в 19:20)   личное сообщение
 
 

Уважаемый Explorer, за все спасибо, буду наматывать на ус!
Спасибо за потраченное время!

  Ответить  
 
 автор: Юра_Комышанский   (30.04.2010 в 18:32)   личное сообщение
 
 

Анатолий (Киев). Вы не смотрели вложенное мной задание? Жду от Вас, совета, в каком направлении мне двигаться?
Пожалуйста, ответьте...

  Ответить  
 
 автор: Explorer   (30.04.2010 в 18:09)   личное сообщение
 
 

шо такое "ПIП гравця" - на каком ето езыке?

  Ответить  
 
 автор: Юра_Комышанский   (30.04.2010 в 18:18)   личное сообщение
 
 

Это "Прізвище, Ім'я та По-батькові" сокращенно, язык украинский...

  Ответить  
 
 автор: kot_k_k   (03.05.2010 в 09:02)   личное сообщение
 
 

если в условии стоит названия на украинском - в свойствах каждого поля есть графа "Подпись" - вот туда и пихай рідну мову а само название поля делай латиницей. и Если кто-то откроет таблу то увидит значение "Подпись", а не имя поля.

  Ответить  
 
 автор: Юра_Комышанский   (03.05.2010 в 20:53)   личное сообщение
44 Кб.
 
 

Премного благодарен, приятно, что есть знающие люди!
Но есть один момент! Я уже сделал базу данных на "рідній мові", всё у меня наконец-то получилось, но вот условия запроса сделать немогу, хоть ты тресни...
Задание запроса такое:
3) Створити запит: Номер залу, Номер комп'ютера, Час роботи за поточний місяць за комп'ютером. Виводяться всі записи для вказаного користувачем гравця.
Створити звіт на підставі запиту.

Уважаемый, просмотрите, пожалуйста, мою работу, может, подскажите?
Вкидаю базу данных вложением.

  Ответить  
 
 автор: kot_k_k   (04.05.2010 в 09:49)   личное сообщение
 
 

к запросу "Час проведений за комп..." добавь

WHERE (((Відвідування.[Номер комп'ютера])=[Forms]![Комп'ютери]![Код комп'ютера]));

и при запущеной форме "Комп'ютери" - отчет открывает только тот комп за который нужно сделать отчет.

Хотя сама постановка задания на запрос в духе наших ВУЗов - на кой нужно знать сколько времени за каким-то компом просидел чел - если чел не сидел за компом то прога радостн покажет пустое значение и сисди вычисляй за каким же точно компом сидел чел.
Скорее актуален запрос сколько времени провел чел или сколько времени работал комп.

если добавить вот это

WHERE (((Відвідування.[Код гравця])=[Forms]![Гравці]![Код гравця]) AND ((Відвідування.[Номер комп'ютера])=[Forms]![Комп'ютери]![Код комп'ютера]));

получишь свой запрос но для этого нужно либо открыть обе формы либо создать форму где будет выводится одноврененно код компа и чела - но строить запрос из уже видимого как-то не совсем кошерно.

  Ответить  
 
 автор: kot_k_k   (04.05.2010 в 09:54)   личное сообщение
 
 

представил куда наших может занести с рідной мовой - типа VB7.укр.


Якщо i=1 Тоді 
      i=i+1
    Інакше
       i=i+2
Кінець Якщо   


хотя скорее подходит "ша" - тот же if.

  Ответить  
 
 автор: час   (04.05.2010 в 10:55)   личное сообщение
 
 


==============как в 1С===============

  Ответить  
 
 автор: kot_k_k   (04.05.2010 в 12:23)   личное сообщение
 
 

если учесть что Винда иногда просто не хочет открывать/удалять/копировать файлы с буквами і-є-ї-' то как себя может повести среда, разработанная изначально на латинице, нормально переварить эту "псевдографику" - недавно прибалтийский разбирали если помнишь - и то проблем хотя балтик давно (если не изначально) как шрифт в Винде.

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