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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Расчет стажа 
V
    Опции темы
Anton3000
Дата 16.7.2007, 05:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.7.2007

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



Народ помогите посчитать стаж (год месяц дни)
PM MAIL   Вверх
kapbepucm
Дата 16.7.2007, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Разность между конечной и стартовой датой

Это сообщение отредактировал(а) kapbepucm - 16.7.2007, 08:22


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


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


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

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



DateDiff()


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

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


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.7.2007

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



Я понимаю что разность между джатами, но он года только считает тогда , а нодо что бы еще и месяцы с днями считал
PM MAIL   Вверх
Akina
Дата 18.7.2007, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Код

Sub test()
Dim dt1 As Date
Dim dt2 As Date
Dim y As Integer
Dim m As Integer
Dim d As Integer
dt1 = CDate("1/1/2005")
dt2 = Now()
y = DateDiff("yyyy", dt1, dt2)
m = DateDiff("m", DateAdd("yyyy", y, dt1), dt2)
d = DateDiff("d", DateAdd("m", m, DateAdd("yyyy", y, dt1)), dt2)
MsgBox "Interval between " & CStr(dt1) & " and " & CStr(dt2) & "is:" & vbNewLine & _
       CStr(y) & " years, " & CStr(m) & " months, " & CStr(d) & " days."
End Sub



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

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


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.7.2007

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



У меня в таблице есть поле стаж, как мне сделать чтоб в эти поля результаты работы функции заносились !?
PM MAIL   Вверх
kapbepucm
Дата 18.7.2007, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Сделай функцию в VBA, ну дальше через запрос. Если конкретно в таблицу, то, например, Recordset умеет. Через запрос приятнее ;)) и работы меньше.

Это сообщение отредактировал(а) kapbepucm - 18.7.2007, 15:31


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


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


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

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



Цитата(Anton3000 @  18.7.2007,  16:10 Найти цитируемый пост)
У меня в таблице есть поле стаж, как мне сделать чтоб в эти поля результаты работы функции заносились !? 

Если у тебя в таблице есть поле даты начала работы, а стаж считается по текущую дату, то тебе не нужно считать и заносить в таблицу рассчитанный стаж. Делай это "на лету".

Или обоснуй, почему надо. Только по-серьезному обоснуй, детский лепет про "надо, и все" или "а вот хочу" не принимается - для создания переопределенной структуры нужны ОЧЕНЬ веские причины.


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

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


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.7.2007

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



Когда делаю запрос на выбор инфы по определеному человеку мне надо чтобы вместе с инфой и стаж был его !
а если через запрос вызывать функцию эту то он просто стаж всех выводит.Как кто к полю ее привизать или еще как...незнаю прям
PM MAIL   Вверх
Akina
Дата 18.7.2007, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Anton3000 @  18.7.2007,  21:08 Найти цитируемый пост)
Когда делаю запрос на выбор инфы по определеному человеку мне надо чтобы вместе с инфой и стаж был его !
а если через запрос вызывать функцию эту то он просто стаж всех выводит.

то есть как это??? как это понимать - стаж ВСЕХ??? я это даже представить не могу...


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

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


Опытный
**


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

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



выбор инфы по определеному человеку и стаж его (кроме Васи Пупкина никого не покажет точно ;)) )
Код

SELECT PersonInformation.Person, Staz(PersonInformation.StartDate) as STAZ
FROM PersonInformation
WHERE ((PersonInformation.Person)="Vasya Pupkin");

единственно надо определить, что и как будет рисовать функция Staz. В каком виде тебе приятнее воспринимать стаж человека?

Это сообщение отредактировал(а) kapbepucm - 19.7.2007, 08:39


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


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.7.2007

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



У меня есть форма котороя открывается по запросу (по фамилии сотрудника), там есть поле стаж , есть дата начала договора и конца договора и мне надо чтоб он вывел в поле стаж разницу договора, я акцесс вторую неделю в глаза вижу вот и проблемы такие возникают  (
PM MAIL   Вверх
kapbepucm
Дата 19.7.2007, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



-Создай Public функцию Staz(FirstDate,LastDate) в модуле VBA
-В свойствах поля стаж в Control Source напиши: =Staz([имя_поля_начала_контракта],[имя_поля_конца_контракта])
А тебе в поле стаж надо выводить строку типа "он работал 10 лет 3 месяца и 1 день"?

Это сообщение отредактировал(а) kapbepucm - 19.7.2007, 09:56


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


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


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

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



Цитата(Anton3000 @  19.7.2007,  10:26 Найти цитируемый пост)
У меня есть форма котороя открывается по запросу (по фамилии сотрудника), 

Как при этом формируется источник данных формы?

Цитата(Anton3000 @  19.7.2007,  10:26 Найти цитируемый пост)
я акцесс вторую неделю в глаза вижу 

Это целиком и полностью твои трудности, и на собственно проблему не влияют. Учите матчасть - и да воздастся.


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

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


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.7.2007

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



Цитата(kapbepucm @ 19.7.2007,  09:50)

А тебе в поле стаж надо выводить строку типа "он работал 10 лет 3 месяца и 1 день"?

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

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

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

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


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

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


 




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


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

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