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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Поля по размеру данных в ленточной форме и отчете
 
 автор: Аленка   (04.11.2008 в 02:22)   личное сообщение
 
 

А вообще возможно ли сделать размер поля ПО РАЗМЕРУ ДАННЫХ в ленточной форме и отчете?
В табличной форме легко. Но в ленточной????????? я так и не нашла.
И в отчете нашла как сделать поля по размеру заглавий полей, но вот чтобы сделать поля по размеру данных в отчете - я тоже не нашла.
Более того, очень хотелось бы, чтобы размер поля выравнивался бы по размеру данных АВТОМАТИЧЕСКИ при открытии формы или отчета, так как форма будет открываться с данными разного размера (по ширине) и соответственно, ширина полей должна меняться в зависимости от размера данных.

Спасибо! Очень надеюсь на Вашу помощь. Очень нужно.

  Ответить  
 
 автор: Мюллер   (04.11.2008 в 10:31)   личное сообщение
 
 

В ленточной форме это неполучится. Поле может иметь только одну width.

  Ответить  
 
 автор: shaucha   (04.11.2008 в 10:46)   личное сообщение
 
 

Настройте просто внешний вид табличной формы как вам надо (как будто бы она ленточная) )))

  Ответить  
 
 автор: Мюллер   (04.11.2008 в 10:56)   личное сообщение
 
 

Это как?

  Ответить  
 
 автор: shaucha   (04.11.2008 в 11:00)   личное сообщение
 
 

))
Открываем табличную форму.
Меню Формат/Режим таблицы
И там уже изощряемся ))) Можно добиться нестандартного вида табличной формы: если, например, установить оформление "приподнятое", то вполне смахивает на ленточную форму )))

  Ответить  
 
 автор: Мюллер   (04.11.2008 в 11:08)   личное сообщение
 
 

Может я чего то не понимаю :

Синий
Зеленый
Серобуромалиновый
Серобуромалиновый с выпендронами под голубой

Как в табличной или ленточной форме сделать чтобы поля выравнивались под размер данных.? (Все это в одном столбце.)

  Ответить  
 
 автор: shaucha   (04.11.2008 в 11:13)   личное сообщение
 
 

Ну никак )
Только руцями
Но в табличной форме, хотябы есть возможность это сделать руцями, а в ленточной нет.
Вот я и предлагаю, если уж хочется не таблицу стсандартную, а нечто на ленточную похожее, то сделать через формат.
Короче - не бейте меня. )))

  Ответить  
 
 автор: Мюллер   (04.11.2008 в 11:46)   личное сообщение
 
 

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

  Ответить  
 
 автор: shaucha   (04.11.2008 в 11:47)   личное сообщение
 
 

а, кстати, прикольно )))

  Ответить  
 
 автор: Lukas   (04.11.2008 в 13:49)   личное сообщение
64 Кб.
 
 

Примерно так:

  Ответить  
 
 автор: Мюллер   (04.11.2008 в 14:02)   личное сообщение
 
 

Тебе осталось только объяснить Аленке как это сделано. В МДЕ это не увидишь. Да и под размер поля оно не подгоняет. А именно этого Аленка и хочет.
Ну да ладно, придет автор, сам разберется.
ТЯП!!!
Не, лучше пойду в кабак, чтоб не нарушать безобразия

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


А вообще возможно ли сделать размер поля ПО РАЗМЕРУ ДАННЫХ в ленточной форме и отчете?

Именно этим коды и отчета и формы занимаются при открытии формы/отчета.
Приоритет отдан числовым полям. Текстовые по "остаточному" принципу.
Алгоритм примерно такой:
1. При открытии отчета/формы открываю рекордсет по источнику данных отчета/формы.
2. Считываю поля рекордсета, их тип.
3. Пробегаюсь по записям рекордсета, считаю максимальное количество символов в полях, попутно считаю сумму числовых полей для итогов.
4. На основании максимального количества символов в полях и полях итогов, рассчитываю ширину полей, прикидываю как их разместить на форме/отчете.
5. Присваиваю значения ширины и положение от левого борта полям, надписям и итоговым полям.
Вот вкратце и все.

Добавлю, что в моем примере форма может выводить до 20 полей, изменяя при необходимости ширину формы до максимального размера. Использую для вывода данных перекрестных запросов, но можно выводить и простые выборки.
Отчет печатает PRINT-ом. Поэтому ему количество полей по-барабану, лишь бы хватило максимальной ширины. Текстовые и мемо поля при необходимости "подрезаются", что бы числовые помещались целиком.

  Ответить  
 
 автор: Мюллер   (04.11.2008 в 15:15)   личное сообщение
 
 

ЗЫ Так для этого ,наверное, нужно предварительно считать разрешение экрана юзера.

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

Зачем?

  Ответить  
 
 автор: Аленка   (04.11.2008 в 16:48)   личное сообщение
 
 

Я не совсем и не все поняла.
Дело в том, что ленточная форма мною выбрана, так как на ней возможно разместить элементы управления. В табличной форме нет такой возможности. И наоборот, в табличной можно ширину полей сделать по размеру данных, а в ленточной - нет. Вот и мучаюсь.
Как вариант - это подчиненная форма с табличным видом. Тогда в основной форме будут элементы управления, а в подчиненной - таблица. Но снова проблема: не знаю, как вставить данные в отчет или в Иксель именно из основной формы. Данные вставляются из основной формы, но не из подчиненной.
Я так понимаю, что в моей ситуации вариант с подчиненной формой - это наиболее подходящий. Надеюсь, что Вы мне не скажете, что данные из подчиненной формы нельзя экспортировать в Иксель или отправить в отчет. Если это можно, и Вы мне покажете, как это сделать, то мой вопрос будет решен.
Спасиб

  Ответить  
 
 автор: Аленка   (04.11.2008 в 16:51)   личное сообщение
 
 

А ЧТО КАСАЕТСЯ ПРИЛОЖЕННОГО ФАЙЛИКА, ТО ОН МНЕ ТОЖЕ понравился. в нем есть то, что мне как раз нужно.
А можно этот файлик в формате MDB?
Спасибо

  Ответить  
 
 автор: Мюллер   (04.11.2008 в 17:28)   личное сообщение
 
 

Делаете рекордсет подчиненной формы - и из него данные в эксель

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