Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Добавить к дате месяцы  [new]
avirin
Member

Откуда:
Сообщений: 74
Извиняюсь если это уже обсуждалось, по поиску искал, не нашел.

Имеется форма и в ней имеется поле с датой, создаю еще одно поле в котором и надо сотворить чудо. К примеру: 21.02.06 надо чтобы получилось 01.04.06, либо 25.12.06 -- 01.02.07(Число постоянно 1. )
Перебирал много, но максимум, что смог сотворить это прибавлять число, в поле Данные вписать =[Дата]+CDate(15).
Что можно придумать?
Заранее всем спасибо!
15 янв 07, 16:06    [3643006]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27548
автор
21.02.06 надо чтобы получилось 01.04.06, либо 25.12.06 -- 01.02.07(Число постоянно 1. )

Каков алгоритм перехода от одной даты к другой? Можно ли так сказать: прибавляем к первой дате N дней , получаем некоторую дату с месяцем номер М. Требуемый результат - дата первого число месяца с номером М+1?
15 янв 07, 16:19    [3643141]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
DateAdd("m",2,DateSerial(Year([Дата]),Month([Дата]),1))
15 янв 07, 16:24    [3643180]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
avirin
Member

Откуда:
Сообщений: 74
mds_world
автор
21.02.06 надо чтобы получилось 01.04.06, либо 25.12.06 -- 01.02.07(Число постоянно 1. )

Каков алгоритм перехода от одной даты к другой? Можно ли так сказать: прибавляем к первой дате N дней , получаем некоторую дату с месяцем номер М. Требуемый результат - дата первого число месяца с номером М+1?


Извиняюсь опечатался в вверху.
В кратце: срок действия даты 13 месяцев и оканчивается 1 числа 14 месяца.
25.01.06 получаем 01.03.07
15.12.06 01.02.08
15 янв 07, 17:16    [3643742]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27548
Владимир Саныч вам уже все точно написал. Только замените 2, возникшую из-за вашей опечатки, на желаемые 13 (месяцев).
15 янв 07, 17:49    [3644049]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
avirin
Member

Откуда:
Сообщений: 74
Пробую, но пишет ошибка
Пропущен операнд или оператор, введен недопустимый знак или лишняя запятая, либо строка без ковычек.
15 янв 07, 17:58    [3644149]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27548
Покажите выражение
15 янв 07, 18:07    [3644226]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
avirin
Member

Откуда:
Сообщений: 74
mds_world
Покажите выражение


В поле данных ввел это выражение
DateAdd("m",2,DateSerial(Year([Дата начала]),Month([Дата начала]),1))
15 янв 07, 18:42    [3644522]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
avirin
Member

Откуда:
Сообщений: 74
mds_world
Покажите выражение


В поле данных ввел это выражение
DateAdd("m",2,DateSerial(Year([Дата начала]),Month([Дата начала]),1))

К сообщению приложен файл (проб.rar - 7Kb) cкачать
15 янв 07, 18:43    [3644526]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Попробуйте заменить , на ;
15 янв 07, 18:46    [3644551]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
avirin
Member

Откуда:
Сообщений: 74
Владимир Саныч
Попробуйте заменить , на ;


Спасибо, все заработало, но показывает ошибку, где даты нет, а она не всегда нужна.
15 янв 07, 18:51    [3644567]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
iif([Дата начала] is null, null, а тут то самое выражение)
15 янв 07, 18:54    [3644581]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
avirin
Member

Откуда:
Сообщений: 74
Владимир Саныч
iif([Дата начала] is null, null, а тут то самое выражение)

Большое спасибо! Все получилось!
15 янв 07, 19:02    [3644616]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
avirin
Member

Откуда:
Сообщений: 74
Тоже самое решил попробовать в таблице, не получилось (1столбец-дата, 2столбец-готовая дата). В какое место эту строку там вписать или что-то другое?
Спасибо!
16 янв 07, 10:17    [3646122]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27548
Таблица, в отличие от запроса, не программируемый объект. В ее свойствах можно задать некоторые элементы динамики, но не до такой степени как вам хотелось бы.
16 янв 07, 10:34    [3646265]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
avirin
Member

Откуда:
Сообщений: 74
mds_world
Таблица, в отличие от запроса, не программируемый объект. В ее свойствах можно задать некоторые элементы динамики, но не до такой степени как вам хотелось бы.

А как тогда данные отправить в таблицу? Без выражения надо в поле Данные вписать название столбца таблицы, а как тогда это состыковать, чтобы высчитывало дату и записывало в таблицу?
16 янв 07, 10:50    [3646405]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
DiDis
Member

Откуда: Старый Оскол, Белгородская обл.
Сообщений: 862
Вы уверены что Вам необходимо записывать эту дату в таблицу?
В таблице, имхо, держите только необходимые данные для расчёта, остальные данные можно получить из исходных....
в таблице:
поле1 поле2
2 2
вы 4 будете заносить в таблицу, если ее можно посчитать сложив поле1+поле2?
не спорю, есть моменты когда необходимо заносить промежуточные данные в таблицу, но мне кажеться это не ваш случай ..
16 янв 07, 11:00    [3646490]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
avirin
Member

Откуда:
Сообщений: 74
DiDis
Вы уверены что Вам необходимо записывать эту дату в таблицу?
В таблице, имхо, держите только необходимые данные для расчёта, остальные данные можно получить из исходных....
в таблице:
поле1 поле2
2 2
вы 4 будете заносить в таблицу, если ее можно посчитать сложив поле1+поле2?
не спорю, есть моменты когда необходимо заносить промежуточные данные в таблицу, но мне кажеться это не ваш случай ..

Не селен я в Accesse.
Вся база у меня создана в одной таблице и трех формах.
Есть форма поиск и в ней несколько полей со списком (данные берутся из таблицы) по нажатию кнопки открывается другая форма. Вот я и хотел в форму поиск добавить еще одно поле со списком, чтобы данные брались из редактированой даты.
16 янв 07, 11:27    [3646776]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
DiDis
Member

Откуда: Старый Оскол, Белгородская обл.
Сообщений: 862
avirin

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


ну и сделайте так...
в источнике строк списка выберите ту таблицу с полем:
Новая дата: DateAdd("m",2,DateSerial(Year([Дата начала]),Month([Дата начала]),1))
16 янв 07, 12:03    [3647163]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
avirin
Member

Откуда:
Сообщений: 74
Не получается, что-то не так делаю.
Надо в форме поиск задать поле для поиска. Если бы данные "Дата кон" были уже в таблице, то здесь все понятно. Как их туда запихнуть или можно обойтись без этого?
Я пробовал и так и так, ни чего не получается.
Небольшой пример.

Извиняйте, не силен я, всем спасибо.

К сообщению приложен файл (проб.rar - 14Kb) cкачать
16 янв 07, 14:54    [3648827]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
ИгорьКл
Member

Откуда: Пермский край
Сообщений: 570
Чтобы запись добавлялась в таблицу надо: в поле "Дата кон" в свойстве данные вместо твоей функции написать "Дата кон", а в свойстве поля "Дата нач" после обновления написать функцию наподобии той что у тебя указана в свойствах данные поля "Дата кон".
16 янв 07, 15:55    [3649349]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
avirin
Member

Откуда:
Сообщений: 74
ИгорьКл
Чтобы запись добавлялась в таблицу надо: в поле "Дата кон" в свойстве данные вместо твоей функции написать "Дата кон", а в свойстве поля "Дата нач" после обновления написать функцию наподобии той что у тебя указана в свойствах данные поля "Дата кон".


"Дата нач" тоже нужна.
16 янв 07, 16:37    [3649759]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
BoNiM
Member

Откуда:
Сообщений: 674
Может это подойдет

К сообщению приложен файл (проб_2.zip - 13Kb) cкачать
16 янв 07, 16:41    [3649797]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
DiDis
Member

Откуда: Старый Оскол, Белгородская обл.
Сообщений: 862
BoNiM
Может это подойдет

вот это как раз то что я и имел ввиду
16 янв 07, 16:53    [3649889]     Ответить | Цитировать Сообщить модератору
 Re: Добавить к дате месяцы  [new]
avirin
Member

Откуда:
Сообщений: 74
Спасибо! Сам бы я недодумался бы.
16 янв 07, 17:45    [3650225]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft Access Ответить