Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

30 Октябрь 2020, 05:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Автоматическая установка контрольных дат  (Прочитано 4763 раз)
0 Пользователей и 1 Гость смотрят эту тему.
sever22lr
Новичок
*
Offline Offline

Сообщений: 4


« Стартовое сообщение: 4 Апрель 2014, 04:48 »

Здравствуйте!
Есть необходимость задать в форме несколько полей с датами:
1. дата составления документа
2. дата его рассмотрения
3. дата вступления в действие
4. дата исполнения

Первые две вводятся в форму в ручную. Хотелось бы, что бы третья автоматически вставала в соответствующее поле формы, но дата должна быть на 10 дней больше второй даты (если дата рассмотрения 05.04.14, то дата вступления в действие - 16.04.14). Так же и  с четвертой датой, но она на 60 дней больше чем третья дата (т.е. если третья - 16.04.14, то четвертая - 17.06.14).
Записан
rogi
Участник
**
Offline Offline

Пол: Мужской
Расположение: г. Пермь
Сообщений: 46


« Ответ #1: 4 Апрель 2014, 07:56 »

Я в таких случая поступаю хитрым образом:
1. Создаю табличку с невидимыми границами
2. Выделяю ячейки, где надо разместить поля с датами
3. Правой кнопкой мыши на них и выбираю пункт Числовой формат (либо меню Таблица -> Числовой формат)
4. Выбираю формат даты, например 31.12.1999
5. Забиваю исходные даты вручную
6. В ячейках, где надо рассчитать даты, встаю в ячейку, нажимаю F2 и появляется панель формул (слева вверху, см. скриншот)
7. Пишу формулу, только вместо адреса просто тыкаю мышкой на нужную ячейку.
8. Enter, и вуаля.
Файл с примером прикрепляю

P.S. Кстати, даты другие немного получаются  Подмигивающий

[вложение удалено Администратором]
« Последнее редактирование: 4 Апрель 2014, 07:57 от rogi » Записан
sever22lr
Новичок
*
Offline Offline

Сообщений: 4


« Ответ #2: 4 Апрель 2014, 08:57 »

А как это реализовать в  OpenOffice Base?
Записан
rogi
Участник
**
Offline Offline

Пол: Мужской
Расположение: г. Пермь
Сообщений: 46


« Ответ #3: 4 Апрель 2014, 09:04 »

Прошу прощения, что-то туплю с утра В замешательстве и не посмотрел в какой ветке отвечаю.
А зачем Вам хранить дату вступления в действие и дату исполнения в базе - это ведь переменные? Их всегда можно рассчитать из даты рассмотрения...
Записан
rogi
Участник
**
Offline Offline

Пол: Мужской
Расположение: г. Пермь
Сообщений: 46


« Ответ #4: 4 Апрель 2014, 09:26 »

Рассчитать можно через создание запроса на основании исходной таблицы.
В запросе кроме нужных полей добавить 2 новых поля, в которых будут находиться дата вступления в действие и дата исполнения.
Источником данных ставить дату рассмотрения.
Потом редактировать запрос в режиме SQL и немного подправить:
1. Найти адрес даты вступления в действие и изменить его на вид (дата вступления в действие + 10)
2. То же самое с датой исполнения, только ставить +70.
Вот как-то так.

Записан
sever22lr
Новичок
*
Offline Offline

Сообщений: 4


« Ответ #5: 4 Апрель 2014, 10:36 »

SELECT "Журнал регистрации протоколов"."Дата рассмотрения" AS "Дата рассмотрения", "Журнал регистрации протоколов"."Дата вступления постановления в силу" AS "Дата вступления постановления в силу", "Журнал регистрации протоколов"."Дата оплаты штрафа" AS "Дата оплаты штрафа" FROM "Журнал регистрации протоколов" "Журнал регистрации протоколов"

Пытался ставить +10 и + 70 и до AS и после. Не помогает...
Записан
rogi
Участник
**
Offline Offline

Пол: Мужской
Расположение: г. Пермь
Сообщений: 46


« Ответ #6: 4 Апрель 2014, 14:48 »

Да, я как-то упустил, что даты просто так не суммируются.
А DATEADD() не работает...
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!