Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Промежуток между двумя датами  [new]
Евгений134
Guest
Есть таблица.Поле№1-цена Поле №2-Дата изменения цены.Подразумевается, что до данной даты цена была таж. Как узнать (запрос, отчёт,) Какой была цена в любой момент времени. Пример:
10.01.01 15р
14.01.01 17р
Вопрос: какой была цена 12.01.01. Нутром то я чую, что была она 15р, а вот как об этом машину спросить.
16 фев 06, 17:46    [2364451]     Ответить | Цитировать Сообщить модератору
 Re: Промежуток между двумя датами  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Сначала получаем максимальную дату, большую нужной. Потом - цену на эту дату.
16 фев 06, 17:58    [2364522]     Ответить | Цитировать Сообщить модератору
 Re: Промежуток между двумя датами  [new]
кгкгк
Guest
Владимир Саныч
Сначала получаем максимальную дату, большую нужной. Потом - цену на эту дату.


Видимо, имелось в виду "не большую" нужно - если конечно, нужная - это 12.01.01.
16 фев 06, 18:02    [2364547]     Ответить | Цитировать Сообщить модератору
 Re: Промежуток между двумя датами  [new]
Евгений134
Guest
Большое спасибо,мысль понял,но к сожаленью не правильно я задал вопрос.Нужно знать стоимость товара на каждый день в промежутке какой либо даты до Now
16 фев 06, 18:18    [2364631]     Ответить | Цитировать Сообщить модератору
 Re: Промежуток между двумя датами  [new]
Visitor
Member

Откуда:
Сообщений: 246
Евгений134
Большое спасибо,мысль понял,но к сожаленью не правильно я задал вопрос.Нужно знать стоимость товара на каждый день в промежутке какой либо даты до Now


календарь - полная таблица дат есть или нет?
16 фев 06, 18:26    [2364667]     Ответить | Цитировать Сообщить модератору
 Re: Промежуток между двумя датами  [new]
Евгений134
Guest
Календаря нет, а как его сделать? Вручную ещё одну таблицу с полным набором дат?
16 фев 06, 18:33    [2364691]     Ответить | Цитировать Сообщить модератору
 Re: Промежуток между двумя датами  [new]
Visitor
Member

Откуда:
Сообщений: 246
Евгений134
Вручную ещё одну таблицу с полным набором дат?


можно и не вручную... в цикле for...to, а потом запрос Show all records from tblCalendar... blah blah blah

в каком виде нужно представить данные - запрос, таблица, список в элементе формы, отчет?
16 фев 06, 18:41    [2364724]     Ответить | Цитировать Сообщить модератору
 Re: Промежуток между двумя датами  [new]
Евгений134
Guest
В отчёте.Чтобы получить уплаченную к примеру за месяц сумму, зная,что цена на один и тотже товар в течении месяца менялась
16 фев 06, 18:51    [2364754]     Ответить | Цитировать Сообщить модератору
 Re: Промежуток между двумя датами  [new]
вудро
Guest
Чтобы создать и заполнить таблицу с датами запусти процедуру CallFillTableWithDates - первую.
Sub CallFillTableWithDates()

    
    Call FillTableWithDates

End Sub

Sub CreateTableWithDates()


Dim strCreate As String
    strCreate = "Create Table Dates (DDate datetime primary key)"
    CurrentProject.Connection.Execute "Create Table Dates (DDate datetime primary key)"
    

    
End Sub

Sub FillTableWithDates(Optional StartDate As Date = #1/1/2000#, Optional EndDate As Date = #1/1/2020#)
On Error GoTo Except

Dim Rst As ADODB.Recordset
Dim i As Long
Dim strSelect As String

    strSelect = "Select Ddate From Dates"
    
    Call CreateTableWithDates
    
    Set Rst = New ADODB.Recordset
    Rst.Open strSelect, CurrentProject.Connection, adOpenForwardOnly, adLockOptimistic
    Do
    Rst.AddNew
    Rst("Ddate") = StartDate + i
    i = i + 1
    Loop While Rst("Ddate") < EndDate
    Rst.Update

    MsgBox "Ready!"

Exit_Sub:
On Error Resume Next
    Rst.Close
    Set Rst = Nothing
    Exit Sub
Except:
    MsgBox "Error " & Err.Number & ". " & Err.Description
    Resume Exit_Sub
End Sub
16 фев 06, 19:16    [2364858]     Ответить | Цитировать Сообщить модератору
 Re: Промежуток между двумя датами  [new]
Visitor
Member

Откуда:
Сообщений: 246
Евгений134
В отчёте.Чтобы получить уплаченную к примеру за месяц сумму, зная,что цена на один и тотже товар в течении месяца менялась


тогда вообще не знаю чего вы мучаетесь... в таком варианте задача здорово отличается от той, что вы формулировали изначально...

если вы платили в течение месяца, значит есть дата совершения платежа и вам нужно понять какой была цена на эту (конкретную, существующую дату)

в первом варионте вы формулировали вопрос таким образом, что цена нужна была на любую дату, вне зависимости от того, были ли оплаты в этот день или нет


готовые примеры решения вашей задачи во втором варианте есть в инете навалом, впрочем и по первому варианту есть примеры решений...

в общем - это даже и не вопрос...

ЗЫ -

поиском по этому форуму не пробовали пользоваться?
16 фев 06, 19:21    [2364879]     Ответить | Цитировать Сообщить модератору
 Re: Промежуток между двумя датами  [new]
Евгений134
Guest
Согласен, тяму наверно не хватило, но суть в том, что платить надо раз в квартал, после выполнения услуг
17 фев 06, 09:19    [2365816]     Ответить | Цитировать Сообщить модератору
 Re: Промежуток между двумя датами  [new]
bubucha
Member

Откуда:
Сообщений: 5633
автор
Нутром то я чую, что была она 15р, а вот как об этом машину спросить

Вложенный запрос решает эту задачу. Но, при больших объемах это не самое быстрое решение, надо смотреть по месту.
17 фев 06, 09:26    [2365839]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить