monrus
Опытный
Offline
|
|
« : 31-03-2006 22:12 » |
|
есть база с ежемесячными выплатами в долларах и рублях. Как сделать отчет, где в итоге будет сумма вылаченных денег отдельно в рублях и долларах. Типа: Sum(Выплаты) Filter Valuta='рубли'
|
|
« Последнее редактирование: 15-12-2007 20:37 от Алексей1153++ »
|
Записан
|
|
|
|
RomCom
|
|
« Ответ #1 : 01-04-2006 03:26 » |
|
Если базы в Excel, самое простое "Данные->Фильтр-Автофильтр" и установить фильтрацию по колонке Валюта.
|
|
|
Записан
|
R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
|
|
|
RomCom
|
|
« Ответ #2 : 01-04-2006 03:39 » |
|
monrus, задавая вопрос описывай систему полностью, если вопрос по базам то какие базы, в каком виде. Мы не ясновидцы
|
|
|
Записан
|
R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
|
|
|
monrus
Опытный
Offline
|
|
« Ответ #3 : 01-04-2006 22:46 » |
|
Акцесс
|
|
|
Записан
|
|
|
|
monrus
Опытный
Offline
|
|
« Ответ #4 : 01-04-2006 22:57 » |
|
Пример типа: март: Иванов 1000 руб. Петров 200 долл. Сидоров 700 руб. Мамонтов 300 долл. _________________ Итого, долл.: 500 Итого, руб.: 1700
Каким образом сделать, чтобы в отчете выводился итог отдельно в долл. и в руб.? Типа: Итого, долл.: Sum(Сумма) filter Валюта='долл.' Итого, руб.: Sum(Сумма) filter Валюта='руб.'
|
|
« Последнее редактирование: 15-12-2007 20:38 от Алексей1153++ »
|
Записан
|
|
|
|
RomCom
|
|
« Ответ #5 : 02-04-2006 06:17 » |
|
Используй функцию "БДСУММ":
|
|
|
Записан
|
R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
|
|
|
monrus
Опытный
Offline
|
|
« Ответ #6 : 03-04-2006 15:11 » |
|
Вы правильно поняли что я хотел. Но мне это надо на accessе. Типа такой функции.
|
|
|
Записан
|
|
|
|
Dusk
Команда клуба
Offline
Пол:
Редкий, но веселый вид
|
|
« Ответ #7 : 04-04-2006 05:52 » |
|
Делаешь запрос к базе и записываешь результат в переменные, которые потом и вставляешь в отчет. Например:
Select sum(MySumma) dsumm from tblSumma where valute='dollar' union all Select sum(MySumma) rsumm from tblSumma where valute='rub'
(Я не помню будел ли работать union all, если нет, то сделай два запроса)
|
|
« Последнее редактирование: 15-12-2007 20:39 от Алексей1153++ »
|
Записан
|
Человек, сделавший хотя бы шаг к цели, сразу становится мишенью для всех отставших Опыт - это то, что появляется сразу после того, как он был так необходим... Бывают минуты, когда у тебя есть секунды, чтобы исправить деланное часами и не получить последствия на годы...
|
|
|
HandKot
Молодой специалист
Offline
|
|
« Ответ #8 : 04-04-2006 06:23 » |
|
(Я не помню будел ли работать union all, если нет, то сделай два запроса) лучше использовать GROUP BYSelect valute, sum(MySumma) dsumm from tblSumma GROUP BY valute а если исполльзуется отчет в Access, тот там при создании отчета можно указать уровни группировки
|
|
|
Записан
|
I Have Nine Lives You Have One Only THINK!
|
|
|
Dusk
Команда клуба
Offline
Пол:
Редкий, но веселый вид
|
|
« Ответ #9 : 04-04-2006 06:44 » |
|
HandKot, можно и так... Хотя так как я написал он четко будет знать в какую ячейку какое значение ставить, а если сделать как ты написал, то там надо будет потом фильтры использовать... Короче из двух вариантов выбирать вопрошающему...
|
|
|
Записан
|
Человек, сделавший хотя бы шаг к цели, сразу становится мишенью для всех отставших Опыт - это то, что появляется сразу после того, как он был так необходим... Бывают минуты, когда у тебя есть секунды, чтобы исправить деланное часами и не получить последствия на годы...
|
|
|
monrus
Опытный
Offline
|
|
« Ответ #10 : 04-04-2006 15:43 » |
|
Вот пример, как там в отчете это представить, помогите, please!!!
|
|
|
Записан
|
|
|
|
RomCom
|
|
« Ответ #11 : 05-04-2006 01:05 » |
|
Private Sub ПримечаниеГруппы0_Format(Cancel As Integer, FormatCount As Integer) Dim rs As Recordset Set rs = CurrentDb.OpenRecordset("select Клиенты.Валюта,sum(Клиенты.Сумма) from Клиенты group by Валюта") Надпись16.Caption = "Итого, " & rs.Fields(0).Value Поле15.Value = rs.Fields(1).Value rs.MoveNext Надпись18.Caption = "Итого, " & rs.Fields(0).Value Поле17.Value = rs.Fields(1).Value rs.Close End Sub
Это решение "в лоб". Нужно еще добавить проверку EOF (конец таблицы)
|
|
« Последнее редактирование: 05-04-2006 01:08 от RomCom »
|
Записан
|
R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
|
|
|
Dusk
Команда клуба
Offline
Пол:
Редкий, но веселый вид
|
|
« Ответ #12 : 05-04-2006 05:35 » |
|
В моем варианте получаешь значения в переменные, а потом полям присваиваешь переменные... (кстати можно и сразу в запросе подставлять поля вместо переменных)...
|
|
|
Записан
|
Человек, сделавший хотя бы шаг к цели, сразу становится мишенью для всех отставших Опыт - это то, что появляется сразу после того, как он был так необходим... Бывают минуты, когда у тебя есть секунды, чтобы исправить деланное часами и не получить последствия на годы...
|
|
|
monrus
Опытный
Offline
|
|
« Ответ #13 : 07-04-2006 20:50 » |
|
Вы можете мне это сделать в файле, который я вам выслал?
Finch Не надо посылать один и тот же пост несколько раз.
|
|
« Последнее редактирование: 07-04-2006 21:15 от Finch »
|
Записан
|
|
|
|
RomCom
|
|
« Ответ #14 : 08-04-2006 05:18 » |
|
собственно в аттаче
|
|
|
Записан
|
R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
|
|
|
monrus
Опытный
Offline
|
|
« Ответ #15 : 09-04-2006 07:01 » |
|
Посмотрите, пожалуйста вот эту базу - здесь конткретные даты - но выдается ошибка: "несоответствие данных в условии выбора".
|
NRT.rar (26 Кб - загружено 1041 раз.)
|
|
Записан
|
|
|
|
RomCom
|
|
« Ответ #16 : 09-04-2006 14:07 » |
|
проблема в том, что ты изменил тип данных поля "месяц". Раньше это была строка, а теперь дата. Теперь появилась проблема представления даты. В SQL дата предствляется в виде 01/01/2006 а поле "Месяц" содержит значение выдаваемое в формате 01.01.2006 т.е. надо изменять точки на слеши
|
|
|
Записан
|
R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
|
|
|
monrus
Опытный
Offline
|
|
« Ответ #17 : 09-04-2006 17:19 » |
|
RomCom, у меня нифига не выходит, помоги
|
|
|
Записан
|
|
|
|
RomCom
|
|
« Ответ #18 : 10-04-2006 01:07 » |
|
Задал ты задачку Данный запрос спосет функция DatePart() А вообще покопайся в базе Борей (идущей как пример). Там подобное делается встроенными механизмами без VBA.
|
|
|
Записан
|
R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
|
|
|
monrus
Опытный
Offline
|
|
« Ответ #19 : 01-05-2006 20:26 » |
|
тема закрыта
|
|
|
Записан
|
|
|
|
monrus
Опытный
Offline
|
|
« Ответ #20 : 09-08-2006 12:39 » |
|
Снова открываю тему. Оказывается DatePArt с параметром m (месяц) - фильтрует по месяцам не зависимо какой год. Т.е. если месяц один а годы разные, то все помещается в этот месяц. как сделать чтобы фильтровалось и по месяцам и по годам в отдельности? Спасибо
|
|
|
Записан
|
|
|
|
HandKot
Молодой специалист
Offline
|
|
« Ответ #21 : 10-08-2006 05:38 » |
|
если правильно понял вопрос, то используй ф-ции YEAR() и MONTH()
|
|
|
Записан
|
I Have Nine Lives You Have One Only THINK!
|
|
|
monrus
Опытный
Offline
|
|
« Ответ #22 : 10-08-2006 14:06 » |
|
посмотрим. А так - выше есть ссылка на файл.
|
|
|
Записан
|
|
|
|
HandKot
Молодой специалист
Offline
|
|
« Ответ #23 : 11-08-2006 11:10 » |
|
вот посмотрите ИМХО не совсем правильно задумано, но может по другому и не надо
|
|
|
Записан
|
I Have Nine Lives You Have One Only THINK!
|
|
|
HandKot
Молодой специалист
Offline
|
|
« Ответ #24 : 11-08-2006 11:57 » |
|
вот кстати посмотрите Сделал отчет по другому
|
|
|
Записан
|
I Have Nine Lives You Have One Only THINK!
|
|
|
monrus
Опытный
Offline
|
|
« Ответ #25 : 12-08-2006 03:46 » |
|
Спасибо. А где можно найти лит-ру про SQL запросы в Access?
|
|
|
Записан
|
|
|
|
monrus
Опытный
Offline
|
|
« Ответ #26 : 13-08-2006 17:12 » |
|
И еще один вопрос. Почему в запросе не отображаются поля с пустыми значениями, хотя выборка идет всех полей не равных "руб"лю?
|
|
|
Записан
|
|
|
|
HandKot
Молодой специалист
Offline
|
|
« Ответ #27 : 14-08-2006 05:43 » |
|
Спасибо. А где можно найти лит-ру про SQL запросы в Access?
Access поддерживет стандарт ANSI SQL + свои встроенные ф-ции Смотрите справку Справка по языку Microsoft Jet SQLИ еще один вопрос. Почему в запросе не отображаются поля с пустыми значениями, хотя выборка идет всех полей не равных "руб"лю?
я так думаю потому, что поле Клиенты.Валюта имеет значение NULL и чтобы получить в выборке и эти значение надо условие дополнить следующим кодом и должно получиться (Клиенты.Валюта<>"руб")OR (Клиенты.Валюта IS NULL)
|
|
|
Записан
|
I Have Nine Lives You Have One Only THINK!
|
|
|
monrus
Опытный
Offline
|
|
« Ответ #28 : 14-08-2006 15:26 » |
|
Огромное Спасибо!!!
|
|
|
Записан
|
|
|
|
|