Как сделать так, чтобы ширины столбцов списка в MS-Access2007 автоматически корректировали размер самих себя? - PullRequest
0 голосов
/ 10 июля 2009

Справочная информация :
Мне вручили «Инструмент», созданный с использованием MS-Access 2007, и попросили добавить кое-что ... По сути, этот инструмент представляет собой набор параметров для запросов к базе данных. В форме с именем CreatedReport имеется список , связанный с таблицей с именем анализированный, в которой есть все полученные данные из выполненного запроса / запросов. Первоначальный создатель этого инструмента установил ширину столбцов для определенных значений, но с новой коллекцией возможных результатов эти ширины очень далеки.

Желаемый результат :
Конечный результат, которого я хочу достичь, - это, конечно, чтобы столбцы были правильной ширины для информации, содержащейся в столбцах. Пока это достигнуто, мне действительно все равно, по какому пути мне идти.

Вопрос:
Как я могу получить столбцы в списке в MS-Access 2007 для соответствующего размера для каждого использования? Есть ли функция авторазмера, с которой я еще не сталкивался, или мне нужно жестко закодировать набор ширины столбцов для каждой группы? Это не будет слишком сложно сделать, поскольку будет всего около 4 или 5 разных групп, но я бы предпочел, чтобы процесс был автоматическим, если это вообще возможно.

Ответы [ 4 ]

2 голосов
/ 11 июля 2009

Другой подход заключается в том, чтобы результаты возвращались в виде таблицы данных формы, тогда пользователь может настроить ширину столбцов, чтобы автоматически устанавливать ширину, используя код, подобный этому:

Пример Этот пример вступает в силу в виде таблицы открытой формы «Клиенты». Устанавливает столбец в соответствии с размером видимого текста.

Forms![Customers]![Address].ColumnWidth = -2

Вы можете поместить этот код в Текущее событие в форме.

1 голос
/ 11 июля 2009

Я не думаю, что ответ Роберта Харви действительно отвечает на ваш вопрос.

Что вам нужно сделать, это:

  1. рассчитать максимальную длину значений в каждом столбце,

И

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

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

Я не знаю, чтобы сделать второй такт, но я подозреваю, что Стивен Лебанс уже сделал работу над этим. Возможно, вы захотите найти его на своем сайте.

0 голосов
/ 02 июня 2016

Это быстрое решение, которое должно помочь, когда вы хотите настроить столбцы списка разной ширины и заранее знать желаемую ширину (например, вы знаете, что столбец X всегда будет двухбуквенным сокращением State, и столбец Y всегда будет названием города).

Просто укажите всю ширину в виде одной строки, разделенной точкой с запятой. Кодируйте каждую ширину как число и единицу, например, «в» или «см». Это хорошо сработало для меня: Me.lsvPayHist.ColumnWidths = "1,0 дюйма; 0,8 дюйма; 1,0 дюйма; 1,0 дюйма; 2,0 дюйма"

0 голосов
/ 10 июля 2009

В прошлый раз, когда я проверял, вам все еще приходилось писать код для этого.

Лучше всего использовать ресайзер, который кто-то уже написал. Вот хороший. Он старый, но все еще работает:

http://www.jamiessoftware.tk/resizeform/rf_jump.html

...