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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Масштаб
 
 автор: Гоблин   (01.10.2011 в 12:15)   личное сообщение
 
 

Привет всем.
Вот ведь загвоздка. Создал юзерам форму, поля в которой расставлены как в бланке. Дал возможность кнопками двигать группы полей во все стороны. Настройки сохраняются запросом на обновление в таблице "Настройка", с которой при открытии формы координаты считываются рекорсетом и форма форматируется по последним настройкам. Оказалось, что бланки бывают кривые и строки под наклон. Сделал и это. Строки в форме с наклоном и даже числом этот наклон показывает. Вроде бы все. БЛИН! Теперь новая задача: форма на формат листа А4 не лезет вся в экран. МАСШТАБ типа надо так, что бы как отчет всю смотреть можно было. Оно и понятно, так как кнопки настройки на самой форме и нижних полей не видать, а бегунок задействовать - кнопки уходят, что настройку формы делает невозможной.
Подскажите кто знает как масштаб менять????

  Ответить  
 
 автор: Гоблин   (01.10.2011 в 22:12)   личное сообщение
 
 

Похоже масштабировать форму невозможно. Под разрешение экрана как-то подгонять что ли?

  Ответить  
 
 автор: snipe   (02.10.2011 в 06:52)   личное сообщение
 
 

А Вы потом форму на печать выводите?
или тут что-то другое

  Ответить  
 
 автор: Гоблин   (02.10.2011 в 10:05)   личное сообщение
 
 

Ну тут механизм таков. Заполняется база с разными данными (для статистики и прочей хрени) При нажатии кнопки бланка, выходит эта форма, в ячейки которой из определенных полей побуквенно эти данные раскидываются. Каждая ячейка в строго определенном месте. На печать выводятся только данные формы, а не сама форма. Т.е. каждая буква строки в своем месте, попадая в нужные ячейки бланка.
Сначала пытался сделать в отчете, но там не знаю как двигать поля. А на форме целыми группами полей пользователь сам может подстраивать под бланк различные смещения и наклоны строк. В помощь ему там и координатные линии высвечиваются, возле выбранной группы ячеек. Эти настройки запоминаются. Как показывает практика, такую процедуру надо будет делать один раз, при получении новой партии бланков.
Проблема в том, что вся форма в экран не лезет. Хотят, что бы всю видеть в экране. Уменьшать нельзя. Она к листу А4 сделана один в один. С отчетами такой проблемы нет конечно.
Надеюсь ясно выразился, хотя и витиевато получилось.
PS Может пользователю 21"" экран поставить, с вертикальной разрешухой в 1300, тогда и проблема отпадет сама собой, но где его взять.

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

Ну если это не бланк строгой отчетности, то может быть предложить руководству, ну их эти бланки, а печатать сразу с названиями полей?. ИМХО
Как то в былые времена (когда истории еще писались только на бумаге) для проверки историй болезни для проверяющих мы печатали 1-2 лист истории с данными пациента и некоторыми схимиченными данными по дате выписке на А4. Прокатывало ))

  Ответить  
 
 автор: Гоблин   (02.10.2011 в 10:24)   личное сообщение
 
 

Да в том то и дело, что строгой отчетности. О них и речь. Это больничные листы (будь они неладны, какой дурак придумал) Но с другой стороны, пусть уж неудобства с выводом на экран, но все же печатать, чем по нескольку десятков всей той дури печатными буквами вручную строчить целый день.
В принципе - это вопрос удобства пользователя. Меня же больше интересует вопрос, как вывести на печать логическое поле, без вывода вокруг него рамки. (только одну галку) Но это уже не по данной теме.

  Ответить  
 
 автор: Lukas   (02.10.2011 в 10:34)   личное сообщение
 
 

Текстовым полем с данными: IIF([ЛогическоеПоле], "V","")

  Ответить  
 
 автор: Гоблин   (02.10.2011 в 10:55)   личное сообщение
 
 

БЛИН! Как я сам не догадался! А я все рисунки подстраивал. Болван.

Вот спасибо.

А как форму в экран всю загнать под разрешение экрана?

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


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


Пользовать панель инструментов, а не кнопки на форме.

  Ответить  
 
 автор: Гоблин   (02.10.2011 в 12:56)   личное сообщение
 
 

Пробовал в самом начале. Проблема с обращением к форме. Почему-то ошибка все время выскакивает. Синтаксис *нехватка знаний^малоопытность=#######

Вот простой пример:
на форме стоит полесосписком1 с кодом после обновления

If Len(Me.ПолеСоСписком1) <> 0 Then
Me.ЛинияГ.TOP = Me(ПолеСоСписком1.Column(1) & 1).TOP
Me.ЛинияВ.left = Me(ПолеСоСписком1.Column(1) & 1).left
For i = 1 To 10
...
Ну и так далее. Тут все работает. Переношу кнопки на другую форму, что бы была рядом. Придется менять код:

If Len(Me.ПолеСоСписком1) <> 0 Then
forms![ФормаБланка]!ЛинияГ.TOP = Me(ПолеСоСписком1.Column(1) & 1).TOP
forms![ФормаБланка]!ЛинияВ.left = Me(ПолеСоСписком1.Column(1) & 1).left
For i = 1 To 10
...
Так вот неудается найти поле, указанное в Полесосписком1, поскольку оно в другой форме получается. Тут получается, что параметры кнопками управления задавать надо для элементов в другой форме. Т.е. линия горизонтали должна скакнуть по координатам, указанным в полесосписком1 на другой форме. Че-то как-то синтаксис блин что ли.. В общем не находит он это поле, хотя и фокус ставил, и че только не делал....
А там все так получается. Поэтому при нахождении кнопок на самой форме все работает, а при их переносе на другую форму...

  Ответить  
 
 автор: Гоблин   (02.10.2011 в 14:58)   личное сообщение
 
 

Все. Кажись нашел в чем проблема. Почему-то работает только через такой синтаксис

With Forms![Бланк больничного]
If Len(Me.ПолеСоСписком1) <> 0 Then
.ЛинияГ.TOP = Forms![Бланк ](ПолеСоСписком1.Column(1) & 1).TOP
.ЛинияВ.left = Forms![Бланк ](ПолеСоСписком1.Column(1) & 1).left
.ЛинияВ.Visible = True
.ЛинияГ.Visible = True
Else
.ЛинияВ.Visible = False
.ЛинияГ.Visible = False
End If
End With

For i = 1 To 37
Forms![Бланк ]("П" & i).BorderColor = 0
Forms![Бланк ]("АД" & i).BorderColor = 0
Next i

А через свойство формы не хочет.
with Forms![Бланк]
("П"&i).bodercolor=0
...
И точки ставил, и что только не делал. В общем только через весь полный указанный путь и никак иначе.

ПОШЛО ДЕЛО ВРОДЕ по переносу кнопок в другую форму!!! Всем спасибо.

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