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

Форум: MS ACCESS

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

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

 
 

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

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

тема: access-2003
 
 автор: natt   (15.06.2009 в 15:50)   личное сообщение
 
 

Помогите, люди-и-и-и! Естьтаблица с 40 графами (gr1,gr2,...gr40). Заполнено первых 15. В следующий раз м.б.заполнено 20. Как показать в отчете (на основании этой таблицы) только заполненные графы.

  Ответить  
 
 автор: Lukas   (15.06.2009 в 15:55)   личное сообщение
 
 

Анализировать "заполненность графов".
Заполненные - показывать в отчете, пустые скрывать.

  Ответить  
 
 автор: natt   (15.06.2009 в 18:04)   личное сообщение
 
 

А как скрывать? Какой командой?

  Ответить  
 
 автор: Анатолий (Киев)   (15.06.2009 в 18:29)   личное сообщение
 
 

В событии Detail_Format отчета:

Dim i As Integer
For i = 1 To 40
  With Me.Controls("gr" & i)
    .Visible = Not IsNull(.Value)
  End With
Next

  Ответить  
 
 автор: Lukas   (15.06.2009 в 18:48)   личное сообщение
 
 

Анатолий, какой смысл скрывать то, чего нет?
Разве только бордюр, при наличии оного, да подписи.
Наверное, смысл скрывать был бы в том случае, если заполненные поля(контролы) расставлять по всей ширине листа с пропорциональным изменением ширины контролов (для всего отчета)?

  Ответить  
 
 автор: natt   (16.06.2009 в 12:29)   личное сообщение
 
 

Прошу прощения за тупость и бемтолковость. Но в конструкторе отчета у полей в области данных вкладка событие недоступна. Или я что-то не так делаю. Заранее спасибо!

  Ответить  
 
 автор: Lukas   (16.06.2009 в 12:35)   личное сообщение
 
 


В событии Detail_Format отчета


В русской версии: событие "Форматирование" "Области данных" отчета, а не полей(контролов).

  Ответить  
 
 автор: natt   (16.06.2009 в 15:06)   личное сообщение
 
 

Большое спасибо! Это то, что мне нужно! Как хорошо, что вы есть! Спасибо!!!

  Ответить  
 
 автор: natt   (24.06.2009 в 09:59)   личное сообщение
 
 

Уважаемый, Lukas! У меня снова проблема с отчетом. Может поможете еще раз? Дело в том, что в отчете печатается пустой лист (это как раз те графы, в которых нет значений). Можно как-то не выводить на печать пустые листы?

  Ответить  
 
 автор: Lukas   (24.06.2009 в 11:02)   личное сообщение
 
 

Можно, но достаточно сложно.
На событии Report_Open необходимо анализировать набор данных источника отчета.
Если, к примеру, отчет имеет 40 полей для вывода, расположенных на отчете шириной в два листа, то:
Если заполненных полей в наборе данных меньше 21, то незаполненные поля скрываем, сдвигаем на левый лист и уменьшаем ширину отчета до размера одного листа.

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

А еще можно научиться работать с Excel из Access и выводить данные в Excel.

  Ответить  
 
 автор: natt   (25.06.2009 в 09:31)   личное сообщение
 
 

Спасибо!

  Ответить  
 
 автор: Кукамака   (24.06.2009 в 12:07)   личное сообщение
 
 

Там есть свойство "Отсутствие данных", смотрите его, может поможет.
Ещё бывает выводятся пустые листы, если ширина отчета шире листа и не хватает пары см. отведенных на поля (т.е. за границей печатных символов в конструкторе не д.б. расстояний). Не знаю на сколько понятно описала. . Но это как возможный вариант решения проблемы.

  Ответить  
 
 автор: natt   (25.06.2009 в 09:32)   личное сообщение
 
 

Спасибо!

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