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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Вопрос по отчетам, Access 2007
 
 автор: goldyara   (16.09.2009 в 12:01)   личное сообщение
 
 

Насяльника озадачила.
Клиентская база в аксессе, есть форма добавления/просмотра клиентов.
Поля: организация, отрасль, адрес, е-маил и т.д.
Она хочет чтобы с этой формы выводился отчет, при этом (по-скольку, не у всех клиентов заполнены все поля, например, у некоторых не заполнено поле адрес), в отчете не должны выводиться незаполенные поля. Т.е. если поле "адрес" незаполнено, то его в отчете вообще не должно быть, оно не должно болтаться там пустое. Соответственно, если поле адрес пустое, вместо него в отчете должно вставиться другое поле, которое заполнено, т.е. чтобы не было пустых строк в отчете.
Собсно вопрос: такое возможно сделать в аксессе, если да, насколько это сложно и куда копать?

  Ответить  
 
 автор: kot_k_k   (16.09.2009 в 12:47)   личное сообщение
 
 

самое простое заполнять ОДНО поле на отчете:
Есть 10 полей - Naimen, Asder, e_mail и т.д.
пишем
в поле1 (Данные)
=naimen & " " & Adres & " " & e_mail & .....
В поле1 получаем строчку только из существующих полей.
Можно изгибнуться и добавить функцию по удалению двойных пробелов.

А, в нижнем колонтитуле отчета прямо необходимо написать
"Да впихнентся невпихуемое!!!! "

  Ответить  
 
 автор: goldyara   (16.09.2009 в 16:52)   личное сообщение
 
 

Так, решил попробовать все варианты
Такой вопрос, вот в этой строке =naimen & " " & Adres & " " & e_mail &
есть ли какие нибудь теги, которые можно вставить между кавычками, чтобы выполнился перенос текста строкой ниже

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


=поле1 & Chr(13) & Chr(10) & Поле2 & Chr(13) & Chr(10) & Поле3


получаем:
Поле1
Поле2
Поле3

  Ответить  
 
 автор: goldyara   (17.09.2009 в 10:42)   личное сообщение
 
 

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

  Ответить  
 
 автор: Анатолий (Киев)   (16.09.2009 в 13:02)   личное сообщение
 
 

Как вариант - сделать поля высотой 0 и в св-ве "Расширение" - Да.

  Ответить  
 
 автор: goldyara   (16.09.2009 в 13:06)   личное сообщение
 
 

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

  Ответить  
 
 автор: goldyara   (16.09.2009 в 14:24)   личное сообщение
 
 

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

  Ответить  
 
 автор: kot_k_k   (16.09.2009 в 14:29)   личное сообщение
 
 

обработка события "Печать" для Области данных и прочих разделов.
там можно поставить проверку Nz(Адрес,"") если "" то Visible=false нужного название поля. или размер задать 0

Private Sub ОбластьДанных_Print(Cancel As Integer, PrintCount As Integer)
If Nz(adres, "") = "" Then
    Me.Nadpis.Visible = False
    Else
    Me.Nadpis.Visible = True
End If
End Sub


А еще вариант (если выводить не в строку а в 1 столбец поля) - задать группировки для каждого поля!!! и в событии "Печать" задавать видимость заголовка Группы в коей и висит наше поле со списком

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