|
Запрос по дате Access 2010
|
|||
---|---|---|---|
#18+
Есть таблица Table (3 поля: Field,Number, Data), в которой данные поступают нарастающим итогом, т.е. по полю Field каждое новое значение и дата должны быть больше предыдущего. При запуске базы данных открывается форма Form1, в которой есть 2 поля для ввода даты начала периода и конца периода и 2 кнопки. Кнопка «Запрос Query по всем записям таблицы» просто выводит запрос Query. Кнопка «Запрос Query1 по дате» открывает запрос Query1. Запрос Query: Код: sql 1. 2. 3.
Суть запроса Query в том, что добавляется поле Difference, которое вычисляет значение по полю Field как разница между предыдущим Number и текущим Number. Например, Field f3: была дата 02.02.1990 со значением 3, следующая дата 05.02.1990 со значением 19, поле разница будет вычислено как 19 – 3 = 16. Запрос Query1 (выбирает данные не из таблицы Table, а из запроса Prom): Код: sql 1. 2. 3.
Промежуточный запрос Prom (для считывания даты начала и даты конца с полей формы Form1): Код: sql 1. 2. 3. 4.
Таким образом, разница между запросом Query и запросом Query1 в том, что запрос Query1 делает выборку по дате. Проблема в том, что запрос Query1 работает неправильно. Например, в запросе Query по полю Field и дате 07.05.1990 поле Difference вычисляется как (15-10 = 5), а в запросе Query1 поле Difference = 0 (запрос не видит предыдущее значение). Помогите, пожалуйста, переписать запрос так, чтобы перед выполнением запроса Query1 можно было выбирать временной период по дате. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2016, 11:42 |
|
|
start [/forum/topic.php?fid=45&msg=39258220&tid=1613451]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 343ms |
total: | 477ms |
0 / 0 |