Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > Нужен совет как составить отчет в виде диаграммы


Автор: alexIrish 19.1.2007, 18:53
Здрасте всем.
Нужен совет как составить отчет в виде диаграммы из
таблицы с полями: Дата,компания1,компания2,компания3,компания4,компания5...
У меня при создании диаграммы позволяет внести только 6 полей, а нужно как минимум
10. При етом исходная таблица уже является сводной, т.е. значения полей отображают
кол-во действий по дням и направлениям.

Спасибо за помощь

Автор: dionisiu 20.1.2007, 10:50
А экспортируй её в Эксель, там с ограничениями попроще. Если таблица уже сводная, то навесить на неё диаграмму вообще не составляет труда. Сложно только объяснить - в каком виде нужно данные повернуть.

Автор: alexIrish 22.1.2007, 11:39
Да я знаю что в Excel проблем нет.
Но вся тема в том что данная диаграмма должна открываться как отчет
по клику из формы. Если пользоваться Excel то долго ждать експорта, открытия 
самого Excel. В Аccess проще: кнопки следующей или предыдущей страниц и открытие отчета с диаграммой. 
Да и еще вопросик: нужен совет как заполнить ячейки таплицы результатами
 подсчитывающих запросов ( Select Count *), если для каждой ячейки свой запрос?

Заранее спасибо.

Автор: dionisiu 22.1.2007, 17:11
Цитата(alexIrish @  22.1.2007,  11:39 Найти цитируемый пост)
как заполнить ячейки таплицы результатами
 подсчитывающих запросов ( Select Count *), если для каждой ячейки свой запрос?

Для каждого ПОЛЯ, или каждой ЗАПИСИ? 
Если запросов немного, то одним запросом, если запросов много, то несколько отдельных запросов объединить одним.
А насчёт диаграм - я пользуюсь экспортом или связыванием таблиц с Экселем. То есть, у меня есть несколько книг Экселя, выдающие различные отчёты из базы, ведущейся на Акцесе

Автор: alexIrish 23.1.2007, 12:32
Привет.
Отдельный запрос для каждого поля. 
Ситуация такая. Есть огромная таблица по трансакциям в которой все вперемешку.
И другая таблица, в которой каждая запись ето кол-во трансакций за день.
Первое поле соответственно дата, а дальше поля трансакций по определенному 
направлению. Запросы написаны без проблем, а вот как результат запроса присвоить
значению поля smile 
И хотелось бы сделать так что бы записи обновлялись сами при открытии формы.
Но ето я сам сначала попробую сделать.

Добавлено @ 12:35 
Да и запросов много. И по всей видимости их кол-во будет расти.
Если подскажите как можно обьеденить их буду весьма благодарен.

Автор: dionisiu 23.1.2007, 19:27
В свойстве поля "Данные" напиши текст запроса, и будет тебе счастие!!!

Автор: alexIrish 25.1.2007, 15:30
Спасибо, написал.
А счастие не пришло. 
Как можно переменные вставить в запрос.
Например в:

DoCmd.OpenReport "ShowActBtwDates", acViewPreview, , """where Result![Date] between date1 and date2"""

условие бвыборки не работает. А по чему? date1 и date2 переменные типа Date.
Может с синтаксисом чего?
Есче при открытии формы значение есче однои переменной = Дате().
а как ее потом вставить в запросы?

Автор: alexIrish 25.1.2007, 15:56
всем привет.
Счастье пришло.
Нашел ошибочку и сделал все по другому.

А вот как обновить запросы, что бы v них дата менялась каждый день сама, будте добры намекните.

Спасибо.

Автор: Akina 25.1.2007, 16:29
Модератор: Одна тема - один вопрос.
И выражайтесь яснее - ни или хотя бы подробнее.

Автор: dionisiu 25.1.2007, 17:42
Цитата(alexIrish @  25.1.2007,  15:56 Найти цитируемый пост)
обновить запросы, что бы v них дата менялась каждый день сама

не понял: если есть запрос, где стоит переменная типа даты в качестве параметра, то почему не присвоить этой переменной данные, возвращаемые функцией Date()? (F1 - эта функция возвращает текущую системную дату и результат меняется раз в сутки)



Автор: alexIrish 25.1.2007, 18:31
Akine:
Спасибо что думать заставляете. Впредь буду стараться яснее выражать мысли.

dionisiu:
Потому что 
SELECT Count(*) AS Apple
FROM Receipts
WHERE (((Receipts.[Storage Loc]) Like "APP*") AND ((Receipts.Date)=Date()));

возвращает 0,

а то же с  "...AND ((Receipts.Date)=#24/01/07#)) - to что нужно.

Автор: dionisiu 26.1.2007, 13:11
значит, в Receipts нет записей Like "APP*"  на текущую дату  smile 

кстати, #24/01/07# по идее равно 01 числу 24-го месяца 07 года, и если у тебя есть такая дата, то у тебя годА свыше 24-х месяцев. Либо я не догоняю формата отображения даты в запросе.

Вопрос: конструкция
Цитата

SELECT Count(*) AS Apple
FROM Receipts
WHERE (((Receipts.[Storage Loc]) Like "APP*") AND ((Receipts.Date)=Date()));


это копирование из конструктора (в виде SQL) или это набрано вручную?

Автор: AndySphinx 26.1.2007, 13:20
Проверь, может Date() возвращает не только дату, но и время. Тогда в запросе нет записей на текущий момент

Автор: alexIrish 26.1.2007, 14:53
Привет.
Пример был копирован из конструктора в виде SQL.
Ошибка была в том, что даные ехпортируются иs базы данных SAP R/3,
А она дату ставит на день раньше. 
Поставил " ... AND ((Receipts.Date)=date()-1)) и все заработало.
А формат даты  системе выставлен дд/мм/гг.

А теперь есть проблема при експорте отчета в Excel. 
При установке парметра  автооткрытия  =1, Access просит переустановить OLE сервер.
А где его переустановить?

Спасибо за помощь.

Автор: dionisiu 27.1.2007, 11:03
Цитата(alexIrish @  26.1.2007,  14:53 Найти цитируемый пост)
формат даты  системе выставлен дд/мм/гг.

Ну я прям не знаю. Во всех мануалах сказано, что в SQL дата запрашивается и отображается (в реальности, а не в представлении акцесом) в формате #мм/дд/гг#, причём хранится она #yyyy/mm/dd#

Автор: alexIrish 29.1.2007, 11:28
Нu и я прям нe знаю. Я вижу, что когда из конструктора переходиш в СЯЛ вид,
то дата отображается так, как вы сказали. Но ето теперь не повод для дискуссии.
работает, ну и ладно.
И диаграммы сделал в Access, просто влепил в отчет две вместо одной.

Tеперь прикол. Если етот отчет експоrтировать в Excel программно или с помощью макроса,
то возникает ошибка обьекта OLE и ... см. выше.

А если v ручную, то виd отчета v Excel оставляет желать лучшего.
Есть ли возможность получить точно такую жe картинку как и отчет.
Или поставить босу Access и пусть учится.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)