|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
Имеется таблица Таблица1: Событие Дата рТ рССобытие1 01.01.2016 "" ""Событие1 05.01.2016 4 4Событие2 06.01.2016 "" ""Событие1 07.01.2016 2 3 Где рТ - Текущая разница с последней датой для данного события, дней рС - средняя разница по всем рТ не равным ""(необязательное условие, можно и ноль добавить, правда среднее для второго события сократится вдвое, но на дистанции выравняется) для данного события, дней При добавлении новой записи, нужно посчитать разницу с последней(наибольшей) датой для данного события - записать полученное значение в рТ и посчитать среднее для всех рТ по добавляемому событию и записать значение в рС. Подскажите где ошибка?: Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2016, 13:05 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
Небольшое уточнение: Событие - текстовый, Дата - Дата\Время, рС и рТ - Числовые. Двойными кавычками я пытался изобразить пустое поле) но можно заменить нулем. Работа программы будет выглядеть следующим образом. На форме есть поля для добавления записей. Программа при старте должна делать прогноз - то есть, по прошествии с события дней больше чем рС, делать уведомление. Если не делать запись значений рС, рТ в бд, то должно получится что-то типо такого: Код: vbnet 1.
Сложность, для меня, в задании параметров для DateDiff. Буду рад любой помощи. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2016, 14:59 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
iddqd_win, Вычисления в таблицах - неправильно. рТ и рС-есть излишествующие данные Вычисления проводятся в запросах (с параметрами-в данном случае, [введите дату] на которую хотите получить данные, это параметр) как-то так: Код: vbnet 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2016, 15:00 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2016, 15:23 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
iddqd_winпо всем рТ не равным ""В результате чего рТ = "" ? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2016, 15:34 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
__Michelle, При добавлении в таблицу рТ будет равняться 0 дней. Не хотел ставить 0 потому что при второй дате, скажем с интервалом 10 дней, среднее значение будет равно 5, хотя по факту 10. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2016, 15:38 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
iddqd_win, А, не учла "разница с последней датой для данного события", брала с текущей датой. Вместо Date() в запросе нужно ввести определение этой последней даты. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2016, 15:43 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
__Michelleiddqd_win, А, не учла "разница с последней датой для данного события", брала с текущей датой. Вместо Date() в запросе нужно ввести определение этой последней даты. В какой строке? И давайте пройдемся вместе по коду, чтобы я не тупо переписал, а понял что к чему) код в вб уже: Код: vbnet 1. 2. 3. 4. 5.
Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2016, 17:24 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
Если в такой форме, выдает ошибку: Ошибка синтаксиса (пропущен оператор) в выражении запроса 'Q.AvgAvgFROM Таблица1 INNER JOINSELECT PDKey'. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2016, 17:42 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
iddqd_winОшибка синтаксиса (пропущен оператор) в выражении запроса 'Q.AvgAvgFROM Таблица1 INNER JOINSELECT PDKey'. Во всех строках не хватает пробелов между частями выражения. И они сливаются в непонятное для компилятора запросов. Поставьте пробелы в конце или начале строк. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2016, 17:54 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
Пробелы забыл) Теперь так: Ошибка синтаксиса в предложении FROM ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2016, 17:55 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
iddqd_win__Michelleiddqd_win, А, не учла "разница с последней датой для данного события", брала с текущей датой. Вместо Date() в запросе нужно ввести определение этой последней даты. В какой строке?Простите, отвлекли.))) Сейчас попробую показать... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2016, 18:24 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
iddqd_winЕсли в такой форме, выдает ошибку: Ошибка синтаксиса (пропущен оператор) в выражении запроса 'Q.AvgAvgFROM Таблица1 INNER JOINSELECT PDKey'. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
перед SELECT PDKey скобки не хватает ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2016, 18:47 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7.
Ну вот, наскоро, надеюсь, без ошибок. Здесь буква "T" - алиасное имя таблицы Таблица1 - латинская. Попробуйте выполнить как запрос из окна БД. Если результат будет похож на ожидаемый, тогда посмотрим, что дальше. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2016, 18:51 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
__Michelle, Если выполнять запрос в Access то просит ввести T.Событие. Если ввожу Событие1 то выводит следующее Событие Дата DD AvgAvgСобытие1 27.02.2016 6 4Событие1 25.02.2016 8 4Событие2 27.02.2016 6 4Событие2 23.02.2016 10 4 Исходная таблица выглядит так Событие Дата Событие1 25.02.2016 Событие1 27.02.2016 Событие1 29.02.2016 Событие1 02.03.2016 Событие1 04.03.2016 Событие2 23.02.2016 Событие2 27.02.2016 Событие2 03.03.2016 Событие2 06.03.2016 То есть что то не так) Да и ввод Т.События меня настораживает) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2016, 20:06 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
iddqd_win, Да, не должно ничего требовать. Вот, попробуйте, пожалуйста. Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2016, 20:47 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
__Michelle, Ни чего вводить не просит) Событие Дата DD AvgAvgСобытие1 27.02.2016 6 4Событие1 25.02.2016 8 4Событие2 27.02.2016 8 575Событие2 23.02.2016 12 575 Но не то) Здесь DD взято от максимального события, а не от сегодня - это я подправил. Событие Дата DD AvgAvgСобытие1 02.03.2016 6 4Событие1 29.02.2016 8 4Событие1 27.02.2016 10 4Событие1 25.02.2016 12 4Событие2 27.02.2016 10 575Событие2 23.02.2016 14 575 А вот средняя не правильно считается. Как я понимаю, тут главное правильно составить алгоритм определения предыдущей даты? Что-то типа дата для события1 которая меньше даты события1 искомой и если их несколько то максимальная из дат и все это загнать сначала в DateDiff а потом в Avg. И нужно еще исключить повторения, то есть надо вывести максимальное для события попадающего под условия. Заранее спасибо за оказанную помощь. Ну и пользуясь случаем, с 8 марта Вас!) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2016, 09:32 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
iddqd_win, Спасибо за поздравление! Очень приятно! Все-таки, "рТ - Текущая разница с последней датой для данного события" ( 18905198 ), или "с сегодняшней датой" ( 18907641 )? Если "с сегодняшней датой", то вот результат в табличке, подходит? Пока для наглядности выводятся все строки и добавлен столбец Res.Событие Дата DD AvgAvg ResСобытие1 25.02.2016 12 8 >Событие1 27.02.201610 8 >Событие1 29.02.2016 8 8 =Событие1 02.03.2016 6 8 <Событие1 04.03.2016 4 8 <Событие2 23.02.2016 14 7.75 >Событие2 27.02.2016 10 7.75 >Событие2 03.03.2016 5 7.75 <Событие2 06.03.2016 2 7.75 < ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2016, 13:01 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
__Michelle, Да рТ с сегодня разница, то есть пока событие не произошло еще раз, рС между событиями, средняя переодичность. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2016, 08:00 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
iddqd_win, То есть, "последняя дата" это не "максимальная для события", а "предыдущая относительно данной даты события"? Тогда вариант: Запрос 1. Определяем интервалы между датами события. Код: sql 1. 2. 3. 4.
РезультатСобытие Дата DDСобытие1 25.02.2016 Событие1 27.02.2016 2Событие1 29.02.2016 2Событие1 02.03.2016 2Событие1 04.03.2016 2Событие2 23.02.2016 Событие2 27.02.2016 4Событие2 03.03.2016 5Событие2 06.03.2016 3Запрос 2. Определяем среднее значение интервала для каждого события. Код: sql 1. 2. 3.
РезультатСобытие AvgAvgСобытие1 2Событие2 4Запрос 3. Искомый результат. Выбираем записи с интервалами выше среднего для события. Код: sql 1. 2. 3.
РезультатСобытие Дата DD AvgAvgСобытие2 03.03.2016 5 4 Ну как, подходит?))) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2016, 09:39 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
Идеально) Огромное Вам спасибо!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2016, 11:46 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
))). Оказалось, самое трудное - правильно понять (или сформулировать?) задачу.))) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2016, 12:22 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
__Michelle, Поторопился маленько)) Забыли самое главное)) ввел еще один запрос(рТН) для определения DateDiff с события до сегодня Код: plsql 1. 2. 3.
И теперь последний запрос Код: plsql 1. 2. 3.
И теперь не могу сгруппировать чтобы только самое последнее отображалось ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2016, 21:04 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
__Michelle, То есть чтобы получилось примерно следующее: Событие ПоследняяДата ТекущаяРазница СредняяРазница ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2016, 21:10 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
iddqd_win, Правильно ли я понимаю, что требуется что-то вроде прогноза - каким был бы интервал, если событие произошло бы сегодня. И средний интервал рассчитать с учетом полученного значения. Так или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2016, 21:20 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
__Michelleiddqd_win, Правильно ли я понимаю, что требуется что-то вроде прогноза - каким был бы интервал, если событие произошло бы сегодня. И средний интервал рассчитать с учетом полученного значения. Так или нет? Почти) Средний интервал мы рассчитали на основе предыдущих событий. И теперь нам надо спрогнозировать это событие исходя из того сколько времени прошло с последнего. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2016, 22:09 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
То есть когда рТН(р с последнего из событий Событие1 например) > рС ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2016, 22:14 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
iddqd_win. .... И теперь нам надо спрогнозировать это событие исходя из того сколько времени прошло с последнего.... Не поняла.... Можно пример на основе все той же таблички? Что должно появиться, если выполнить требуемое вручную? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2016, 22:15 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
И еще. Не увидела, чтобы запрос рТН как-то работал с "сегодня", как заявляется. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2016, 22:20 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
__Michelle, Событие ДатаБ 20.02.2016Б 25.02.2016В 27.02.2016Б 01.03.2016А 01.03.2016В 02.03.2016А 04.03.2016В 07.03.2016А 07.03.2016 А, Б, В - циклически происходящие события, но цикл не постоянен. Интервал между датами одного события (рТ) в примере для события Б: 20.02.2016 (рТ = 5 дней) 25.02.2016 (рТ = 5 дней) 01.03.2016 Средняя периодичность каждого события (рС) это среднее арифметическое, дней между датами одного события. Для события Б рС = (5 + 5)/2 так как интервала 2 = 5 дней Сегодня 10.03.2016. Последний раз событие Б произошло 01.03.2016 то есть сегодня рТН = DateDiff(01.03.2016, 10.03.2016) = 9 дней Средняя же периодичность рС для события Б 5 дней. Теперь в случае когда рТН >= рС для данного события нужно получить не что такое: Событие Последняя дата Средняя периодичность Прошло с последнего дней Б 01.03.2016 5 9 Для остальных событий: В: рТ = 27.02.2016 (4 дня) 02.03.2016 (5 дней) 07.03.2016 рС = 4.5 рТН = 07.03.2016 (3 дня) 10.03.2016 рТН < рС выводить не нужно А: рТ = 3дня, 3 дня рС = 3дня рТН = 07.03.2016 (3 дня) 10.03.2016 рТН=рС на вывод Итоговая для всех событий Событие Последняя дата Средняя периодичность Прошло с последнего дней Б 01.03.2016 5 9А 07.03.2016 3 3 Вроде все аспекты затронул) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 10:56 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
__MichelleИ еще. Не увидела, чтобы запрос рТН как-то работал с "сегодня", как заявляется. Ой, да там datediff(d, Дата, Date()) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 11:05 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
iddqd_winОй, да там datediff(d, Дата, Date()) Точнее Дата ТОР1 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 11:06 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
__Michelle, Ну и допустим из жизни пример.. Скажем принтер - допустим я заправляю катриджы каждые 35 дней, с последней заправки прошло уже 45 дней, запрос будет говорить о том что скорее всего печатать придется идти куда то еще) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 11:14 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
Так? Запрос 4. Код: sql 1. 2. 3.
Результат.Событие Дата СредняяПериодичность ПрошлоДнейСобытие1 04.03.2016 2 6Событие2 06.03.2016 4 4 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 11:33 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
__MichelleТак? Запрос 4. Код: sql 1. 2. 3.
Результат.Событие Дата СредняяПериодичность ПрошлоДнейСобытие1 04.03.2016 2 6Событие2 06.03.2016 4 4 Не хватает условия ПрошлоДней >= Запрос2.AvgAvg ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 12:17 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
Добавьте? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 12:31 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
__Michelle, Постараюсь, спасибо за помощь ещё раз! Уже замучил Вас)) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 13:50 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
__Michelle, Вроде всё верно) Код: plsql 1. 2. 3.
И ещё раз огромное спасибо) Если потихоньку начинаю понимать что к чему) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 13:55 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
iddqd_win, Нужно вот так - добавленное к Запросу 4 выделено красным: Запрос 4 Код: sql 1. 2. 3. 4.
У Вас аналогичное выражение вставлено в подзапрос, а нужно отнести его к основному запросу. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 14:07 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
__Michelleiddqd_win, Нужно вот так - добавленное к Запросу 4 выделено красным: Запрос 4 Код: sql 1. 2. 3. 4.
У Вас аналогичное выражение вставлено в подзапрос, а нужно отнести его к основному запросу. Ясно, запомню этот нюанс. Хотя вроде тоже работало) Ну и по традиции еще раз спасибо) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 14:25 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
iddqd_win, Пожалуйста!))) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 14:30 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
iddqd_win, чтобы определить среднюю периодичность вычислять рТ не обязательно. Поэтому решение последней задачи, не использующее подзапроы и дополнительные сохраненные запросы, может быть таким Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2016, 15:06 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
-Практикант-, Тоже работает, спасибо за короткий вариант. Почему мне нравится с отдельными запросами, потому что периодичность событий сезонная, то есть летом допустим чаще, зимой реже. И теперь мне нужно изменить расчет рС не за все время, а скажем за последних 3-4 раза, а в идеале за последних n - раз задавая n в программе. И можно будет не переписывать весь код. Подскажите как подобный запрос составить? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 10:25 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
__Michelle, Доброго дня! Хочу еще раз Вас потревожить) Не подскажите как реализовать расчет периодичности рС не для всех событий а для 1, 2, n последних? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 11:55 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
iddqd_win-Практикант-, Тоже работает, спасибо за короткий вариант. Почему мне нравится с отдельными запросами, потому что периодичность событий сезонная, то есть летом допустим чаще, зимой реже. И теперь мне нужно изменить расчет рС не за все время, а скажем за последних 3-4 раза, а в идеале за последних n - раз задавая n в программе. И можно будет не переписывать весь код. Подскажите как подобный запрос составить? Потестируйте такой запрос Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
где N - требуемый параметр. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 13:46 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
-Практикант-, Не работает, точнее работает но результат не правильный. Взял такие даты Дата01.02.201610.01.201620.01.201601.03.201604.03.201608.03.201610.03.2016 Результат для N = : 1 - 6 дней средняя 2 - 4.5 дней 3 - 6.3333 дней Было мнение что он считает и последнюю разницу до сегодня для средней, но вроде результаты не подходят под эту теорию) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 18:13 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
-Практикант-, Ой, вторая и третья дата соответственно февраль ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 18:14 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
Если N это количество интервалов, то должно получиться так: 1 - 2 дня (10.03 и 08.03) 2 - 3 дня (10.03 08.03 04.03) Если количество дат: то для 1 не посчитает для 2 - 2 дня для 3 - 3 дня ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 18:22 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
Здесь 18947278 Вы спрашивали iddqd_win... как реализовать расчет периодичности рС не для всех событий а для 1, 2, n последних? Я расшифровал это так: нужно определить рС по N последним (при сортировке в порядке возрастанию дат) записям каждого события. Для того, чтобы было более понятнее, вспомните, что каждой записи соответствует значение рТ и что запись с пустым рТ в расчетах не участвует. Результаты запроса совпадают с iddqd_winЕсли N это количество интервалов, то должно получиться так: 1 - 2 дня (10.03 и 08.03) 2 - 3 дня (10.03 08.03 04.03) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 23:26 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
-Практикант-Здесь Вы спрашивали Я расшифровал это так: нужно определить рС по N последним (при сортировке в порядке возрастанию дат) записям каждого события. Всё верно. рС средний интервал времени для N интервалов Для того, чтобы было более понятнее, вспомните, что каждой записи соответствует значение рТ и что запись с пустым рТ в расчетах не участвует. Тоже верно. рТ разница между двумя последующими датами одного события. Результаты запроса совпадают с iddqd_winЕсли N это количество интервалов, то должно получиться так: 1 - 2 дня (10.03 и 08.03) 2 - 3 дня (10.03 08.03 04.03) Вы получили значения 2 дня для последнего интервала и 3 дня для 2 последних? Что же я делаю не правильно?((( У меня все равно 4.5 и 6.33 для N равного 2 и 3 соответственно. Давайте разберём код чтобы понять, почему у меня ошибка? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 08:09 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
iddqd_winВы получили значения 2 дня для последнего интервала и 3 дня для 2 последних? Да. Кроме того - 3 для 3-х последних ЗАПИСЕЙ, 4.75 для 4-х, 5.8 для 5-и, 6.33 для 6-и. Предпочитаю говорить о записях, а не неизвестно о каких интервалах. Выкладываю архив, в котором две базы: db1.mdb создана в Access2003, Database1.accdb - в Access2010 Portable. Запрос Запрос1 отрабатывает нормально. iddqd_winЧто же я делаю не правильно?((( Чтобы это понять необходима Ваша база. Хотя, если задаете значение N в диалоговом окне, появляющемся при запуске запроса, то, на всякий случай, в запросе перед началом запроса (выше SELECT) поместите строку Код: sql 1.
iddqd_winДавайте разберём код чтобы понять, почему у меня ошибка? Подзапрос Код: sql 1. 2.
для каждого события таблицы Таблица1 определяет номера записей, начиная с последней, (1-последняя, 2-предпоследняя, ...). Сравнение Код: sql 1.
фильтрует записи, номера которых не превышают N+1, и основной запрос работает только с отфильтрованными записями. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 13:22 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
-Практикант-, Спасибо за объяснение) И да PARAMETERS N Long; именно этого не хватало) Теперь работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 14:00 |
|
VB2010е, Access, Запрос к БД
|
|||
---|---|---|---|
#18+
-Практикант-, Не получается этот запрос адаптировать для VB2010(( Если оставить так как есть ругается на - Отсутствует значение для одного или нескольких требуемых параметров. Пробовал так Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Работает но параметры не задает и получается 6.33 И по всякому с параметрами поигрался все равно 6.33 А что то типа такого сделать нельзя?))) SqlCom = NewOleDbCommand("Таблица1.Запрос1", Con) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 18:40 |
|
|
start [/forum/topic.php?all=1&fid=45&tid=1613798]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
74ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 173ms |
0 / 0 |