|
|
|
Опять проблема с вычислениями в запросе...
|
|||
|---|---|---|---|
|
#18+
Подскажите где ошибка и как надо правильно? Выражение в поле запроса: Код: plaintext 1. Блин! Так и не научусь применять правильно статистические функции! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 16:47 |
|
||
|
Опять проблема с вычислениями в запросе...
|
|||
|---|---|---|---|
|
#18+
скажем так Sum(iif(a>b; a;b)) т.е. _все выражение_ должно быть Sum или иной стат ф-ей, а не выражением от стат ф-й (што, собсно, понятно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 17:03 |
|
||
|
Опять проблема с вычислениями в запросе...
|
|||
|---|---|---|---|
|
#18+
Пробуй DSum синтаксис в хелпе глянь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 17:03 |
|
||
|
Опять проблема с вычислениями в запросе...
|
|||
|---|---|---|---|
|
#18+
С DSum - таже ошибка, а вот если вынести из выражения Sum: Код: plaintext Идея же в том, что в этом поле должен выводиться % суммы текущих платежей, пока их сумма < суммы контракта. И должно быть еще одно поле, где отдельно указан последний платеж(в %), который "закрыл" весь контракт. Сижу второй час ковыряюсь, не выходит ничего... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 17:29 |
|
||
|
Опять проблема с вычислениями в запросе...
|
|||
|---|---|---|---|
|
#18+
быллиииииин. 1. твоя ашипка вылечилась. это плюс. Вопрос решен. 2. ты не знаешь, чего хочешь (или не можешь сформулировать) - это минус. Твои проблемы не решены. Резюме: Привел бы SQL, на. Если тебе никакие грюппы в запросе не нужны - бери DSUM -он посчитает што к чему. Если все считается в группирвочном (по другим причинам) запросе, то вычисляемое поле должно быть стат функцией (суммой стат функций). От этого стартуй. а если не прорубаешь логику построения запроса, так и пиши - "надо то-то и то-то, вспомошествуйте, братья в Аксессе, бо мы сами не местные" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 17:49 |
|
||
|
Опять проблема с вычислениями в запросе...
|
|||
|---|---|---|---|
|
#18+
Ну не прорубаю я логику запроса, ну бейте меня 2-томником Гейтса по голове... Чего хочу от запроса получить - написал в предыдущем посте... Поможите кто чем может(хотя сами мы и местные).... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2004, 10:09 |
|
||
|
Опять проблема с вычислениями в запросе...
|
|||
|---|---|---|---|
|
#18+
А почему это должен быть обязательно один запрос? Может у тебя два поля на форме, так и заставь каждое поле индивидуальным способом вычисляться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2004, 10:37 |
|
||
|
Опять проблема с вычислениями в запросе...
|
|||
|---|---|---|---|
|
#18+
Да нет там никакой формы: этот запрос гонится в отчет(Ексель). Так можно в запросе такое посчитать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2004, 11:00 |
|
||
|
Опять проблема с вычислениями в запросе...
|
|||
|---|---|---|---|
|
#18+
авторIIf(Sum([Оплаты]![Платеж])<[Контракты]![Сумма];Sum ([Оплаты]![Платеж])/[Контракты]![Сумма];1) Кстати, у меня, по какой-то причине, в запросе IIF работает только с запятой в качестве разделителя аргументов... Т.е. попробуй ";" поменять на ","... к сведению... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2004, 11:14 |
|
||
|
Опять проблема с вычислениями в запросе...
|
|||
|---|---|---|---|
|
#18+
[Контракты]![Сумма]-должна быть статистической функцией (о чем и сообщалось в ошибке). Решение проблемы: 1. написать DSum("[Платеж]";"Оплаты";"(((Оплаты.key)=[Контракты]![key]))") но это если ты хочешь редатируемый запрос, т. к по скорости лучше 2. сделать отдельный запрос, просуммировать там твои [Оплаты]![Платеж] и связать уже в конечном запросе по ключу с таб. [Контракты] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2004, 12:10 |
|
||
|
Опять проблема с вычислениями в запросе...
|
|||
|---|---|---|---|
|
#18+
1. можно. Можно либо сделать, либо, уяснив неккоректность постановки задачи, откорректировать и опять таки сделать :0). Ничего экстраординарного математически ведь не предполагается? Всяких там решений Диофантовых уравнений весьма ощего вида :0) 2. Замечу, что ты еще и ленив. "Чего хочу от запроса получить - написал в предыдущем посте" Эдак ты, ой-ля-ля, спросишь, можно ли построить километровую башню, но не уточнишь, что строить надо из говна. Причем на песке. Примерная формулировка вопроса: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. _______ Кстати, если "гонится в ексель", то можно написать свою выгрузку рекордсета (где, при прогонке по набору и определять, какой из платежей - "последний") Будет работать медленнее чем CopyFromRecordset, но выигрыш может быть из-за того, что отпадет надобность во вложенных _группировочных_ запросах (причем в случае "последнего платежа" предвидится что-то похожее на группировочный вложенный второго уровня вложения) (подсчеты агрегатов будешь делать сам, при проходе по набору данных). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2004, 12:11 |
|
||
|
Опять проблема с вычислениями в запросе...
|
|||
|---|---|---|---|
|
#18+
2 oltan: спасибо за подсказку: [Контракты]![Сумма]-должна быть статистической функцией Поскольку это значение одно и тоже для всех записей группы, добавил ей ф-цию First(мог бы и Min или Мах). Запрос заработал, но сразу выявилась ошибка: пока первое выражение меньше второго, проценты суммы платежей выводятся. А при равенстве выводится 100%, хотя надо выводить "без последнего".... Но oltan-у все-равно спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2004, 14:32 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32465611&tid=1675660]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
176ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 226ms |
| total: | 501ms |

| 0 / 0 |
