|
|
|
Как задать размер колонок в таблице, через VBA?
|
|||
|---|---|---|---|
|
#18+
2 Hummer кинь мне пустое мыло, я тебе пришлю в ответ готовый пример, а то твое мыло скрыто. Есть у таблицы свойство Form! :) хоть это и звучит неправдаподобно для некоторых СПЕЦИАЛИСТОВ, но это уже не ко мне... В редакторе свойств ты его не увидишь... :) Зачем зря воздух гонять, я тебе готовый пример, ты сам же в форум и напишешь - есть там такое или нет, бред или небред (это для Лоха). А предложения такого типа: Код: plaintext не есть самые оптимальные, потому как эти проперти персистентные, т.е. в базу пишуться, т.е. лишние телодвижения и задержки. 2 Лох Так зачем именно предварительный просмотр? Сразу форму печатать (если надо), или через предварительный просмотр (опять-таки, если надо). Или что, без предварительного просмотра никак? Т.е. напрямую на принтер отправлять не умеем? Ну не смеши ты людей ради бога. :) А использовать форму вместо отчета полезно именно на динамических вещах. Можно, ясен пень создать один универсальный отчет, у которого полно полей с запасом. Но мой подход более визуальный. Лох, я ведь и тебе могу исходник скинуть - мне не жалко - мыло давай. А то у нас обмен любезностями какой-то беспредметный, на уровне охов и восклицаний. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2003, 17:00 |
|
||
|
Как задать размер колонок в таблице, через VBA?
|
|||
|---|---|---|---|
|
#18+
В редакторе свойств ты его не увидишь... :) Синтаксис в студию Пример работы со св-вом Form у открытой таблицы. На что это похоже? CurrentDb.TableDefs("asdf").Form? Так что-ли? Думаю всем будет интересно. Ну не смеши ты людей ради бога. :) Это не ответ на вопрос - почему ты так уперся именно в предварительный просмотр. Создается впечатление, что без него (сразу на принтер) у тебя что-то не работает. Если впечатление неправильно - так и скажи, мол предварительный просмотр не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2003, 17:09 |
|
||
|
Как задать размер колонок в таблице, через VBA?
|
|||
|---|---|---|---|
|
#18+
В догонку насчет персистентных св-в В принципе да, но это - изменения макета. Остается на клиенте (в случае прилинкованных таблиц). А работа с локальными пропертями времени не стоит нисколько. В базу пишуться - ну так ведь это и хорошо. В следующий раз не надо будет менять. А использовать форму вместо отчета полезно именно на динамических вещах Только если пользователю ручками надо менять ширину. Тогда в форме это сделать можно, а в отчете нет. Програмно же управлять шириной контрола - нуууу... немного удобнее для таблицы/формы (задал ширину столбца и все) чем в отчете (изменил ширину - двигай все остальные контролы). Но это мелочи. Но все равно форма тут не нужна. Таблицы - хватает. Если бы уже была форма - алгоритм работы для изменения ширины столбцов точно такой же (ColumnWidth и всех делов-то). Но специально для этого формы плодить - увольте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2003, 17:29 |
|
||
|
Как задать размер колонок в таблице, через VBA?
|
|||
|---|---|---|---|
|
#18+
А я почти все отчеты делаю из ленточных форм (не считая стандартных бланков) Польз-тель может настроить его как ему надо, ширину колонок изменить, и, самое главное - сортировку и фильтр задать по своему усмотрению. Таких возможностей ни один отчет не предоставит (в смысле Report) Заодно и другая проблема ассеса решается - недержание ширины полей при печати. Табличные формы (вот откуда свойство таблицы Form) тоже удобно использовать для печати (правда ширину программно не ставил) Посмотреть - пожалуйста на моем сайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2003, 23:07 |
|
||
|
Как задать размер колонок в таблице, через VBA?
|
|||
|---|---|---|---|
|
#18+
У меня в одном учетном проекте было около 150 отчетов по всяким итогам, рейтингам и пр.пр.пр (это помимо приличного количества обычных отчетов, типа: накладная, прайсы, налоговая и еще несколько десятков). Причем, все такие отчеты по требованию заказчика должны были быть в двух вариантах - в печатном и в экранном (экранный отчет - это не предварительный просмотр :), это просто те же данные что и в отчете, но только в удобном именно для просматривания на экране виде). Т.е. идя напрямую, мне пришлось бы ваять 300 шаблонов, а эт гемморой, особенно если вдруг надо общий стиль поменять всех отчетов по требованию заказчика. Так вот я и использовал идею динамических подчиненных форм/таблиц/вью/процедур. Создаешь пустой подчиненный объект. Потом в рантайме этому объекту присваиваешь SourceObject =StoredProcedure.MyReport1 или View.MyReport2 и т.д. Тут progist обмолвился: Табличные формы (вот откуда свойство таблицы Form) тоже удобно использовать для печати Уже теплее. :) Весь прикол в том, что подчиненная талица, view, stored proc или просто подчиненная форма ведут себя одинаково! :) И оттуда там и свойство Form у ЛЮБОГО подчиненного объекта - все как у подчиненной формы! Хотя саму подчиненную форму ваять не потребовалось - просто указываешь какой вью или proc. (И ваще, че я очевидное доказываю да еще и оскобления выслушиваю? Лень что ли просто самим взять да посмотреть? :) ) Конечно потом "ручками" ставить проперти и ширину каждого поля - это садомазохизм, когда у тебя 150+150 отчетов. Поэтому у меня есть пара таблиц с метадатами, куда я прописываю с помощью весьма простой служебной формы, что и как должно выглядеть. Все это множество отчетов разбивается на несколько групп по подобиям. Для каждой группы была сделана своя главная форма или главный отчет (всего у меня было 12+12, что гораздо интереснее, чем 150+150), и в метаданных все прописано - какой отчет (ВИРТУАЛЬНЫЙ ОТЧЕТ) в какой форме отображается, заголовок, столбцы и пр.пр.пр. После этого сваять новый подобный отчет для меня было равно по времени проектированию соотв. запроса или процедурки, и добавления пункта в меню или кнопки на форме. (А пожелания заказчиков сыпались как из рога изобилия, особенно когда он просек, что на новый отчет у меня уходит около 2-10 мин.) По поводу использования форм в качестве шаблонов для отчета (и по поводу восклицаний на этот счет). Так вот, когда открываешь отчет на просмотр или ДАЖЕ на печать (2 ЛОХ), то ничего в СТРУКТУРЕ объекта поменять уже невозможно. :( Поэтому я и использовал в некоторых случаях вместо шаблонов отчета формы, там где "дешевле" было все сделать динамически (это когда есть масса похожих по структуре отчетов). Весь прикол в том, что от подчиненной таблицы, вьюшки, процедуры можно перехватывать все такие же события как от формы. Я, например, по просьбе заказчика выделял текущую строку целиком в режиме экранного отчета (всего одна строка кода на основной форме, которой ваще пофиг, что ИМЕННО за объект лежит в качестве подчиненного). На всей этой ерунде сэкономил около 300 объектов проекта и не меньше месяца нуднейшей однообразной работы. В принципе, Access позволяет вообще обходиться без полей на отчете. Просто в соответствующих событиях при печати или предварительном просмотре можно ВЕСЬ отчет нарисовать "ручками", как душе будет угодно :) Баловался я этим хохмы ради, но реально использовал только частичное "дорисовывание" в некоторых отчетах - там где рисуемый элемент должен был по размеру располагаться на нескольких секциях данных сразу, в этом случае только "ручное" рисование и помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2003, 01:33 |
|
||
|
Как задать размер колонок в таблице, через VBA?
|
|||
|---|---|---|---|
|
#18+
2 ЛОХ да, забыл Синтаксис в студию me.RepDetail.SourceObject="View.View1" ' или "StoredProcedure.StoredProcedure1" with me.RepDetail.Form ... end with ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2003, 01:43 |
|
||
|
Как задать размер колонок в таблице, через VBA?
|
|||
|---|---|---|---|
|
#18+
2 progist Польз-тель может настроить его как ему надо, ширину колонок изменить, и, самое главное - сортировку и фильтр задать по своему усмотрению. Таких возможностей ни один отчет не предоставит (в смысле Report) Согласен. Зато такие возможности предоставит любая таблица в режиме таблицы 2 вдимас Блин, ну или дурак, или оно не лечится Тебе задали простой вопрос "Попроще. У открытой таблицы есть свойство - Form ЧАВО???" Чего за хуйню ты в ответ понаписал? "В редакторе свойств ты его не увидишь" Иди ты на хуй в свой севастополь Вопрос был (для тупых процитирую) "Как задать размер колонок в таблице, через VBA?" Кому какое дело как ты сделал свои сто пятьдесят отчетов? Пытаюсь быть объективным - хорошие мысли в твоем решении есть (типа похвала). Пытаюсь быть субъективным - на фиг здесь (в этом топике) никому не нужны. И ваще, че я очевидное доказываю да еще и оскобления выслушиваю? И ваще, не говори очевидной хуйни - не будешь выслушивать оскорблений. Искренне прошу у всех прощения за весь мат и срач. Не сдержался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2003, 02:09 |
|
||
|
Как задать размер колонок в таблице, через VBA?
|
|||
|---|---|---|---|
|
#18+
2 ЛОХ Блин, случай упорного взаимного непонимания (сквозь все топики). ЛОХ: Вопрос был (для тупых процитирую) "Как задать размер колонок в таблице, через VBA?" Самый первый мой ответ: Попроще. У открытой таблицы есть свойство - Form. Короче. Создаешь форму для печати (именно форму) И готовишь макет так, как если бы готовил отчет. В ней - встроенную форму, у которой в рантайме Form_Load ставишь SourceObject ="Table.Table1" Далее, у этого подчиненного объекта есть свойство Form. Через него дотягиваешься до столбцов и ставишь ширину. Заодно можно и цвета поменять и еще все что хошь у таблицы поменять. Тут же переводишь эту же форму в режим предварительного просмотра. Все. Ты прицепился к первой фразе, не прочитав последующие, где были все ответы (Естессно, первое предложение, мягко говоря, неккоректно, если не читать последующие). На вопрос подробнее, я предложил выслать на мыло исходники примера, потому как принцип уже объяснил, а дальнейшая детализация - только исходники. Далее: ЛОХ: ну один раз предложили ему печатать отчет, он отказался (случаи разные бывают). Так зачем ему форму предлагать? Ниче не понимаю Когда открываешь отчет с подчиненной таблицей, то уже нет возможности "играть" колонками этой подчиненной таблицы, поэтому предложил форму (и причину эту уже указывал). Далее: ЛОХ: (ColumnWidth и всех делов-то). Но специально для этого формы плодить - увольте А если он захочет потом перевести базу на ADP? Прикол в том, что такая форма может быть только одна, и можно создавать по new ее экземпляры под какое угодно количество тейблов. Т.е. она (эта единственная форма) служит именно для целей "Как задать размер колонок в таблице, через VBA?", типа способ такой, типа хелпер. Код: plaintext 1. 2. 3. 4. 5. 6. Я ж те грю - я здесь чел новый, как ИМЕННО надо отвечать - не знаю, поэтому отвечаю в том духе, в котором спрашивают. Спросил бы автор топика сказал "напишите мне код" - написал бы код, спросил в духе "а как?", я ответил в духе "А вот примерно так!". А че ты к последнему моему посту прицепился - ваще загадка. Народ стал делиться как и что он делает по этой теме, ну и я поделился. Кому-то это может оказаться полезным, многие мои знакомые используют похожие приемы. И ваще, у меня к личности ЛОХ разгорается нездоровый интерес, надыть пересечься как-нить или водки попить или морды побить, в целях устранения взаимонепонимания. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2003, 05:22 |
|
||
|
Как задать размер колонок в таблице, через VBA?
|
|||
|---|---|---|---|
|
#18+
ух ееее два дня рождения за один вечер пагубно повлияли на мою неокрепшую детскую психику Еще раз сорь перед всеми и особенно перед vdimas. Был неправ, вел себя недостойно чести советского офицера. Три раза КУ. Насчет твоего способа уже написал - способ хороший. Особенно на трезвую голову. В терминологии поаккуратнее, ну об этом уже говорили. Я, в общем, тоже не фанат давать пользователям данные в виде таблиц/запросов (без форм и отчетов), так что чего я тут развонялся - сам не понял. Усе. Ушел мутировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2003, 09:07 |
|
||
|
Как задать размер колонок в таблице, через VBA?
|
|||
|---|---|---|---|
|
#18+
Не хочется, что бы народ здесь нервничал и ругался, можно просто и профессионально - обозвать оппонента ЛАМЕРОМ. Всех с утра уважаю, так как пока не жарко иду на море купаться (я же в отпуске, и море рядом не какое-нибудь, Саныч знает). Так вот согласен с vdimas, т.к. сам использую технологию создания динамических отчетов для экрана и печати на основе ленточных форм и таблиц. Например есть у меня отчет Оборот товаров. Для основы сделаны 2 формы 1 ленточная и 1 табличная Сразу я даже затрудняюсь сосчитать, какое количество отчетов можно полуучить на основе этих форм. Причем меняется и количество колонок, и группировка и полдписи и источники данных, и отчеты можно открывать поверх уже открытого, т.е. создаются экземпляры форм. Можно ставить отчеты рядом и сравнивать и т.д. и т.п. Все очеты можно сортировать и фильтровать на месте после формирования, (я не большой знаток Crystal Reports, могу ошибится, но приложения, с отчетами на нем, просто отдыхают рядом с такими возможностями Ассеса). Вот отчет: http://www.inakta.ru/im/sb/sb_15.htm - в виде иерархического Grid-а (2 вложения) - тоже построен по этой технологии. Так что не надо горячиться, голов на земле много, да и пиво мы все любим С этим и ухожу на море :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2003, 09:16 |
|
||
|
Как задать размер колонок в таблице, через VBA?
|
|||
|---|---|---|---|
|
#18+
sasha_1 Код: plaintext Никак не катит, в семействе Properties 19 элементов среди которых нет ColumnWidth ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2003, 09:30 |
|
||
|
Как задать размер колонок в таблице, через VBA?
|
|||
|---|---|---|---|
|
#18+
Никак не катит, в семействе Properties 19 элементов среди которых нет ColumnWidth А ты его туда добавь посмотри на пост выше (от вчера, 09:26) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2003, 09:35 |
|
||
|
Как задать размер колонок в таблице, через VBA?
|
|||
|---|---|---|---|
|
#18+
Мда, до мата уже в открытую опутились:) 2 vdimas Ладно, меня можно считать не специалистом, про свои проекты я говорить не буду, о том, как реализовывал тоже, но вот это: Есть у таблицы свойство Form! :) хоть это и звучит неправдаподобно для некоторых СПЕЦИАЛИСТОВ, но это уже не ко мне... В редакторе свойств ты его не увидишь... :) Ага, далее из текста вытекает, что свойство Form есть у StoredProcedure, у View:) Вот такие вот чудеса на виражах:) Это свойство принадлежит именно ПУСТОМУ ПОДЧИНЁННОМУ ОБЪЕКТУ, то есть контейнеру, которому ты присваиваешь SourseObject, то есть источник, но это свойство никак не источника. Вот, собственно и всё, что хотел сказать. За исходники спасибо, с этим способом знаком и его реализация мне известна. Разумеется, с формой работать проще, чем с отчётом, особеннно с форматированием и наведением красот. Просто сейчас пользуюсь отчётами, для работы с отчётом используется Excel или Word, компания, в которой я сейчас работаю, не выдвигает таких требований к интерфейсу, поэтому таким способом и не пользуемся. Отчёты в экранном виде тоже присутствуют, в табличной форме как результат работы хранимых процедур. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2003, 09:53 |
|
||
|
Как задать размер колонок в таблице, через VBA?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2003, 10:05 |
|
||
|
Как задать размер колонок в таблице, через VBA?
|
|||
|---|---|---|---|
|
#18+
Дабы навести последний блеск в выяснении отношений: hummer Ага, далее из текста вытекает, что свойство Form есть у StoredProcedure, у View:) Вот такие вот чудеса на виражах:) Это свойство принадлежит именно ПУСТОМУ ПОДЧИНЁННОМУ ОБЪЕКТУ, то есть контейнеру, которому ты присваиваешь SourseObject, то есть источник, но это свойство никак не источника. Вот, собственно и всё, что хотел сказать. Ну, мое стремление к лаконичности в первом посте сослужило мне плохую службу :) Если уж быть совсем точным, то свойство Form есть свойство того объекта, который сам Access автоматически создает для отображения вернувшихся по запросу данных. По своей структуре этот автоматически сгенерированный объект полностью идентичен обычной форме в режиме таблицы. Теперь корректно? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2003, 11:15 |
|
||
|
Как задать размер колонок в таблице, через VBA?
|
|||
|---|---|---|---|
|
#18+
Теперь корректно Лаконичность, сестра лени - наш враг. Долой. Краткость, сестра таланта - наш друг. Даешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2003, 11:19 |
|
||
|
Как задать размер колонок в таблице, через VBA?
|
|||
|---|---|---|---|
|
#18+
progist Я полазил на http://www.inakta.ru/im/sb/sb_15.htm и заметил интересный контрол в справочние клиентов, окно просмотр/исправление. Там слева меню (Название, Адрес и т.д.) неподскажешь где ты такое меню взял? Где его можно достать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2003, 11:37 |
|
||
|
Как задать размер колонок в таблице, через VBA?
|
|||
|---|---|---|---|
|
#18+
2 vdimas Да ладно, это я так - с утра не выспавшись был:) Ну я и написал про контейнер (уж не знаю, как он корректно в аксессе называется:)) Оффтоп Был бы не в Севастополе, с удовольствием бы тоже хлебнул водовки:) Хороший город, отдыхал я там в прошлом году:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2003, 13:27 |
|
||
|
Как задать размер колонок в таблице, через VBA?
|
|||
|---|---|---|---|
|
#18+
2ALeXVB Как - то на досуге (как сейчас, в отпуске) взял да и нарисовал сам ради интереса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2003, 16:45 |
|
||
|
Как задать размер колонок в таблице, через VBA?
|
|||
|---|---|---|---|
|
#18+
progist Жутко хорошо сделанно, неможешь скинуть примерчик данного контрола... aveselkov@nm.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2003, 17:07 |
|
||
|
Как задать размер колонок в таблице, через VBA?
|
|||
|---|---|---|---|
|
#18+
суть ее проста - Labels, Lines, OnMouseMove, и TabControl, вот возни много, скачай прогу, посмотри как работает и нарисуешь сам. Меняется цвет линий - вот и кажется, что вдавлено-выпукло Виктор Сенин знает компанию ( кажется QuantumExpress) - так они бесплатно дают SideBarControl - это настоящий контрол, как в OutlookExpress, в аксес легко должен встраиваться, у них даже пример на аксесе есть. ССылки с собой нет, но найдеш легко ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2003, 17:20 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32229484&tid=1680032]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 397ms |

| 0 / 0 |
