Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Поискал "форма, сводная таблица"
 
 автор: ser60   (10.04.2012 в 18:14)   личное сообщение
 
 

Поискал "форма, сводная таблица" по аксу, подходящего не нашел
нужно сделать журнал посещений студентов. попробовал сделать в форме сводную таблицу (типа перекрестного запроса). Заголовки строк - код студента, заголовки колонок - даты, на их пересечении - код оценки
(код, чтобы отображать разные представления оценки- советскую, иностранскую числовую с запятой и буквенную, иногда соответсвующую им балльную оценку по 100 балльной шкале). Вначале данные заполняются некоторыми по умолчанию оценками. Предполагается, что преподаватель открывает свой журнал (фильтрация общего журнала по идентификатору группы и идентификатору дисциплины и начинает ставить оценки (т.е. идентификатор оценки)
Проблема в том, чтобы использовать комбобокс для установки оценки в такой форме. Почему не получается заменить через комбобокс идентификатор студента на его фио, а идентификатор оценки на одно из его представлений? посоветуйте что-нить.
Возможно, это еще не все проблемы при построении сводных таблиц в форме...

  Ответить  
 
 автор: Гоблин   (10.04.2012 в 23:04)   личное сообщение
 
 

Сводная хороша для статистических данных, а для ввода данных что-то как-то мягко говоря затруднительно.

Вначале данные заполняются некоторыми по умолчанию оценками
- Круто. Это колы или двойки?

Почему не получается заменить через комбобокс идентификатор студента на его фио, а идентификатор оценки на одно из его представлений?
- Скорей всего потому, что в комбобоксе используется в качестве строк - запрос, и первый столбец с идентификатором. А если в свойствах присоединить второй, то будет присоединяться фамилия. То же самое и с оценками. Сделай столбец идентификатора 0см, фамилию - 3 см. И его присоединяй. Или присоединяй первый, а показывай второй. Проще говоря - видим не то, что на самом деле. Но смысла в этом нет в данном случае.

По поводу формы
- Наверно придется делать форму с календарем, далее подчиненную в ленточном виде, в которой 1 столбец будут фамилии, а напротив оценка. (или несколько как там может быть). Выбрав дату - ставим оценки. Тут можно было бы в поле оценка ниспадающее миню сделать просто с 1,2,3 (больше не надо) и выбирать. Пришел - 1, Взял билет - 2, правильно назвал № билета - 3.
А уже после этого создавать некую сводную, для подсчета голосов.

  Ответить  
 
 автор: ser60   (11.04.2012 в 06:04)   личное сообщение
 
 


Вначале данные заполняются некоторыми по умолчанию оценками. Круто. Это колы или двойки?


Хотелось сделать привычную форму классного журнала, заполняемого по умолчанию + (типа присутствовал на уроке)


Почему не получается заменить через комбобокс идентификатор студента на его фио, а идентификатор оценки на одно из его представлений?



я даже попробовал сразу в исходной таблице сделать (как вариант) сразу все комбобоксы, а уж потом на ее основе сложную форму. Все равно в форме появляются идентификаторы студентов и оценок. Потому что потом в форме не получается заменить на комбобоксы. Полагаю, что акс так работает: выбрасывает все присоединенные столбцы и работает напрямую с идентификаторами. Ставить вместо идентификаторов фамилии - не кошерно...


По поводу формы. - Наверно придется делать форму с календарем, далее подчиненную в ленточном виде,



хотелось иметь привычный вид классного журнала ((.
Спасибо, Гоблин, за отклик...

Вопрошаю, кто-нить пробовал успешно использовать механизм сводной таблицы для ввода данных в форму и использования в ней комбобоксов

  Ответить  
 
 автор: kot_k_k   (11.04.2012 в 09:42)   личное сообщение
 
 

можно ли пить водку носом - можно, но зачем.
именно это и хотел сказать вам Гоблин.

можно склеить 2 формы - одна сводная с оценками , вторая с вводом данных - но это не кошерно да и геморно т.к. сводная будет расти и вторую придется передвигать.

  Ответить  
 
 автор: ser60   (11.04.2012 в 10:32)   личное сообщение
 
 

ну для этого собственно и спрашивал: париться или не париться. У вас, местных старожилов, опыта поболее, вот и образумите. Раз два человека говорят, что геморно - поверю, значит так и есть. . Сами понимаете, что иногда трудно объяснить пользователю, почему так сложно все устроено, совсем не так, как он привык ((

  Ответить  
 
 автор: Дядя Федор   (11.04.2012 в 10:47)   личное сообщение
12 Кб.
 
 

Вот примерчик Может поможет.
См. вложение.

1.Здесь идея с комбобоксом. Наполни своим содержанием.
2.Список можно заменить вызовом формы и т.д.

пс List. если что имеет размеры 0х0

  Ответить  
 
 автор: kot_k_k   (11.04.2012 в 11:23)   личное сообщение
 
 

не работат в сводной табле - нету там такого

Me.Controls.Count - выдает 6 (для 3-х полей и 3-х названий) при сводной табле на 20 колонок.
и не отдупляет на форме

а если делать таблу где каждое поле это дата - звиздец полный.

  Ответить  
 
 автор: Дядя Федор   (11.04.2012 в 11:30)   личное сообщение
109 Кб.
 
 

Дык. Это я для ленточной формы писал.
А в ленту всегда можно запихнуть сводную таблицу.
Я делал так для приложения "Турникет" и др.
Источник - перекрестный запрос.
Событие даблклик - потом анализ "чё надо" и действия.
Как-то так.

  Ответить  
 
 автор: kot_k_k   (11.04.2012 в 11:45)   личное сообщение
 
 

в ТУ сводная табла.


п.с. а как ты заставлял появляться данные которых нет? принудительно?

  Ответить  
 
 автор: Дядя Федор   (11.04.2012 в 11:50)   личное сообщение
 
 

"п.с. а как ты заставлял появляться данные которых нет? принудительно?"

Чё-т я, наверное не врубился в ТУ.
Какая сводная таблица, если данных нет?

Можно заполнить нулями и обновлять...

Я, собств., хотел только показать как привязать один список к полям.
Т.е. углядел проблему в этом.
А уж как данные прилепить... Думал это очевидно.
Ошибся?

  Ответить  
 
 автор: kot_k_k   (11.04.2012 в 11:54)   личное сообщение
 
 


Можно заполнить нулями и обновлять...



грабли - 30-е заполнение даст размер файла в 2Г и звиздец фаталь ерор.

п.с. к цифре 30 не надо прикапываться

  Ответить  
 
 автор: Дядя Федор   (11.04.2012 в 12:59)   личное сообщение
 
 

Говорю ж. Не по ТУ.

Вообще, по логике задачи, там сводная вообще не нужна.
По умолчанию 0 или пусто.
Фильтры, связи. И ок.

  Ответить  
 
 автор: ser60   (11.04.2012 в 17:36)   личное сообщение
 
 

ну вроде тоже как бы выход есть. Сводная табла - это же как один из вариантов решения, но не обязательный. Может быть действительно через ленточную сделать. Интересное решение - один List на все даты!
В любом случае щас буду пробовать ваш пример, спасибо!

  Ответить  
 
 автор: ser60   (11.04.2012 в 17:39)   личное сообщение
 
 


а если делать таблу где каждое поле это дата - звиздец полный.


согласен полностью. kot_k_k, если не сложно, поясните термин или жаргон "не отдупляет" - для чайников )

  Ответить  
 
 автор: kot_k_k   (12.04.2012 в 09:08)   личное сообщение
 
 

в примере - программно вешается обработка события "даблклик" на каждый контрол формы, а на сводной табле это событие не обрабатывается.

  Ответить  
 
 автор: Гоблин   (12.04.2012 в 19:02)   личное сообщение
 
 

Че-то мне вспомнился пример Лукаса, где форма меняет в данных размер динамически, в зависимости от выбранного масштаба. Вот и тут так сделать, колонка фамилии, далее колонки с датами. Ну и потом выбрали месяц - вот еще 30 или 31 столбец, выбрали квартал ...., выбрали год - соответственно. Экранная лупа прилагается.

  Ответить  
 
 автор: Explorer   (12.04.2012 в 22:26)   личное сообщение
 
 

три формы

31 столбец
92 столбца
366 столбцов

так проще

  Ответить  
 
 автор: ser60   (12.04.2012 в 20:59)   личное сообщение
 
 

спасибо за пояснение! Понял, что ограничения сводной таблицы не позволят реализовать замысленный функционал. Остается предложение Гоблина по ленточным формам. Буду работать в этом направлении, оно и привычнее. Всем спасибо!

  Ответить  
 
 автор: kot_k_k   (13.04.2012 в 09:11)   личное сообщение
13 Кб.
 
 

вот твоя "мечта"

1. во временную таблу загоняем нужный список + дата
2. в сводную нужно добавить фильтр по месяцу

неудобства:
1.- при увеличении кол-во дней - нужно раздвигать сам запрос на подчиненной форме, хотя его можно сделать по максимому, а его закрывать на основной форме.
2. сдвигать - подчиненную форму с текущей датой.

прелести - выполненное ТУ.

ЗА сбычу мечт

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList