Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.02.2010, 12:52   #1
analyst
Пользователь
 
Регистрация: 30.06.2009
Сообщений: 32
По умолчанию Перекрестный запрос

Всем привет. Вот написал простейший перекрестный запрос:
Код:
TRANSFORM Count(Sheet1.[Таб№]) AS [Count-Таб№]
SELECT 
Sheet1.[Балансовая единица], 
Sheet1.[Раздел персонала], 
Count(Sheet1.[Таб№]) AS [Итоговое значение Таб№]
FROM Sheet1
GROUP BY Sheet1.[Балансовая единица], Sheet1.[Раздел персонала]
PIVOT Sheet1.[Причина мероприятия] 
IN (ad,"Выполнение работ","Оказание услуг", "Истечение срока договора");
Вопрос заключается в том как мне можно создать столбец в котором суммируются данные столбца "Выполнение работ" и "Оказание услуг"?

Решил создать запрос на выборку в котором создается новое поле. В нем и проиходит сложение значений необходимых полей:
Код:
SELECT 
[Форма 2 кадры].[Балансовая единица], 
[Форма 2 кадры].[Раздел персонала], 
[Форма 2 кадры].[Итоговое значение Таб№], 
[Форма 2 кадры].[Выполнение работ], 
[Форма 2 кадры].[Оказание услуг], 
[Форма 2 кадры].[Истечение срока договора], 
[Выполнение работ]+[Оказание услуг] AS total
FROM [Форма 2 кадры];
Проблема заключается в том, что в поле total мы получаем нужное значение только тогда, когда в полях [Выполнение работ] и [Оказание услуг] одновременно стоят ненулевые значения. В противном случае поле остается пустым. В чем дело? Я подозреваю что дело в формате, но когда я пробовал поставить перед вырежением функции CInt (Cint[Выполнение работ]+Cint[Оказание услуг] AS total), то вместо пустых значений стали вылазить #Ошибка.

Последний раз редактировалось analyst; 17.02.2010 в 13:18.
analyst вне форума Ответить с цитированием
Старый 17.02.2010, 13:18   #2
analyst
Пользователь
 
Регистрация: 30.06.2009
Сообщений: 32
По умолчанию

Вот ребята подсказали:
http://www.cyberforum.ru/ms-access/thread96120.html
analyst вне форума Ответить с цитированием
Старый 17.02.2010, 17:39   #3
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте analyst.
"Вот ребята..." - Вы думаете это будет интересно ещё кому то ?
Сомневаюсь, тем более это не оптимально, гораздо лучше конструкция будет выглядеть так:
...(Nz([Выполнение работ], 0) +Nz([Оказание услуг], 0)) AS total...
но это конечно только моё мнение.
Евгений.
P.S. если Вы посещаете сайты с тематикой БД, не применяйте терминологию электронных таблиц (Excel), "..столбец в котором.." применительно к БД лучше называть - "поле в котором"
Teslenko_EA вне форума Ответить с цитированием
Старый 17.02.2010, 18:24   #4
analyst
Пользователь
 
Регистрация: 30.06.2009
Сообщений: 32
По умолчанию

Цитата:
Сообщение от Teslenko_EA Посмотреть сообщение
Здравствуйте analyst.
"Вот ребята..." - Вы думаете это будет интересно ещё кому то ?
Я просто привёл один из вариантов решения)
Цитата:
Сообщение от Teslenko_EA Посмотреть сообщение
Здравствуйте analyst.
P.S. если Вы посещаете сайты с тематикой БД, не применяйте терминологию электронных таблиц (Excel), "..столбец в котором.." применительно к БД лучше называть - "поле в котором"
Спасибо. Я учту ваше замечание.
analyst вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перекрестный запрос zander Microsoft Office Access 2 13.01.2010 15:25
Запрос Artruman БД в Delphi 10 05.05.2009 18:47
Как создать перекрестный запрос в С#? Etlau Общие вопросы .NET 0 26.04.2009 16:07
запрос ссылается на несвязанный с ним запрос kolebatel SQL, базы данных 0 11.06.2008 12:50
Не работает перекрестный запрос Unlimit БД в Delphi 2 15.05.2008 18:26