powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как узнать реальную высоту поля в отчете?
108 сообщений из 108, показаны все 5 страниц
Как узнать реальную высоту поля в отчете?
    #39055647
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, есть расширяемое поле в отчете, как узнать его реальную высоту?
TextHeight(Поле) дает высоту в конструкторе.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39055655
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Банджо,
Код: vbnet
1.
2.
3.
Private Sub ОбластьДанных_Print(Cancel As Integer, PrintCount As Integer)
MsgBox Me.текст.Height
End Sub
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39055678
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я пробовал TextHeight(Поле) на принте, тоже не выходит.

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

Беру реальный отчет, проверяю высоты полей в принте и формате - последнее оказывается на 6900, никаких 13000 и близко нет

Если поставить разрыв страницы на 6900, рвет посередине страницы
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39055680
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так, кажется я невнимателен, сорри, сейчас попробую
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39055683
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MsgBox Me!КГ.Height

дало вообще 1899, хотя поле в конце страницы
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39055712
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БанджоДобрый день, есть расширяемое поле в отчете, как узнать его реальную высоту?
TextHeight(Поле) дает высоту в конструкторе. Высота в конструкторе-абсолютно верно.Не могу представить ситуацию когда может понадобиться высота поля в конкретной записи-единственное подсчет их количества на странице (высота поля может меняться в любой из записей и не является постоянной), но это совсем другая история
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39055928
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть отчет, в нем последовательно сверху 12 полей.
В каких-то полях есть данные в каких-то нет. В каких нет данных те не выводятся.
В полях может быть одна строка, может быть несколько, где сколько неизвестно.
Мне нужно знать реальную высоту поля чтобы вычислить какие поля переносить на другую страницу.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39055949
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Банджо,
Если Вам надо последнюю строку области данных перенести на другую страницу 18160657
если не помещается на одной странице само перенесется
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39055974
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdkuБанджо,
Если Вам надо последнюю строку области данных перенести на другую страницу 18160657
если не помещается на одной странице само перенесется

я поняла это по- другому
--12 длинных полей
--в одной области отчета(например заголовок группы или область данных)
--поля в столбик со свойством (расширение)
-----например поле 1 займет 4 строки
-----поле 2 пустое(не должны печататься и поле и лабель перед полем)
-----поле 3 должно начаться с 5-й строки
-----само оно не перенесется
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39055978
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА--12 длинных полей
--в одной области отчета(например заголовок группы или область данных)
--поля в столбик со свойством (расширение)
-----например поле 1 займет 4 строки
-----поле 2 пустое(не должны печататься и поле и лабель перед полем)
-----поле 3 должно начаться с 5-й строки
-----само оно не перенесется
Да, но с печатанием полей после предыдущего проблем нет, стоит расширение и все.
Поля, которые не помещаются на первой странице, переносятся на вторую, туттоже без проблем.
Проблема в том, что перенос может пройти посередине поля, например в 9-м поле 7 строк, 3 остались на первой странице 4 ушло на вторую.

Нужно чтобы поле переносилось целиком.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39055994
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Банджо,

Сделайте по-другому.
Не определять высоты строк, а вот как.
Создать такое количество фиктивных групп =True, чтобы в них,
включая заголовки и примечания этих групп, разместились все расширяемые поля.
То есть, везде по одному полю.
Например,
для 9 полей потребуется 3 группы с заголовками и примечаниями,
для 10 полей - 3 группы с заголовками и примечаниями и одна группа без заголовка и примечания, и т. д.
Заголовками, примечаниям и областям данных этих групп дать свойство Не разрывать = С первыми данными,
или Не разрывать = Вся группа, в данном случае это идентично.
И все - очередное поле будет переходить на новую страницу целиком, без разрыва.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056018
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не совсем понятно.. группы же нужны для группировки данных?
Попробовал разместить группы - они строятся не друг за другом, а как матрешка, в центре область данных, вверху заголовки, внизу примечания.. Что-то не так делаю?
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056025
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что так пугает?

Да, как матрешка.
Да, для группировки.
А что мешает разместить в группе одно поле в области данных, одно - в заголовке, одно в примечании?
И выражение для группировки задать = True?
Ничто не мешает.

Вы попробуйте в этих разделах поля разместить по-порядку, сверху вниз.
Даже если пока не понимаете, что происходит и зачем это нужно.
Результат увидите.
Только не забудьте про свойство Не разрывать.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056161
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle, хорошо, спасибо, буду пробовать

Еще вопрос.. о поиске
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Set frm = Me![01Реестр].Form
strCriteria = "[ФИО] like '*" & Me![Поиск] & "*'"

rep:
With frm.RecordsetClone
    .FindNext strCriteria
    If Not .NoMatch Then
    frm.Bookmark = .Bookmark
    Else
    .MoveFirst
    GoTo rep
    End If
End With



Поиск нормально крутит по кругу вхождения. Но если ничего не находит, уходит в цикл и все.
И почему-то не находит первую строку, всегда со второй.
Что можно поправить?
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056185
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И еще вопрос, к финишу уже.. Базу делим, нужен какой-то работающий скрипт линковки таблиц у пользователей. Работа локальная. Читаю сейчас темы, попробовал joss, но акк ругается на пользовательскую функцию.. в общем хелп тоже..
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056197
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Банджо__Michelle, хорошо, спасибо, буду пробовать

Еще вопрос.. о поиске
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Set frm = Me![01Реестр].Form
strCriteria = "[ФИО] like '*" & Me![Поиск] & "*'"

rep:
With frm.RecordsetClone
    .FindNext strCriteria
    If Not .NoMatch Then
    frm.Bookmark = .Bookmark
    Else
    .MoveFirst
    GoTo rep
    End If
End With



Поиск нормально крутит по кругу вхождения. Но если ничего не находит, уходит в цикл и все.Естественно. Так и написана программа.
Если ничего не находит, .MoveFirst и GoTo rep (?!) на начало.
Кто это все писал-то? Еще и GoTo...
БанджоИ почему-то не находит первую строку, всегда со второй.Естественно. Там же FindNext .
FindFirst locates the first occurrence, FindNext locates the next occurrence, and so on.
БанджоИ еще вопрос, к финишу уже.. Базу делим, нужен какой-то работающий скрипт линковки таблиц у пользователей. Работа локальная. Читаю сейчас темы, попробовал joss, но акк ругается на пользовательскую функцию.. в общем хелп тоже.. А без чтения тем, самостоятельно, не выходит?
Я делаю через переопределение Connect для таблиц и RefreshLink для них же.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056203
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle, ну пинать можно конечно ), чем владею..

реп для того чтобы крутила вхождения по кругу, иначе поиск идет в одну сторону и останавливается.

линк самостоятельно никак, смотрю сейчас разборы полетов по линку там много того, с чем я не сталкивался никогда. Путь нужно не жестко прописывать.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056207
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БанджоПуть нужно не жестко прописывать.Это что значит?
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056214
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Банджореп для того чтобы крутила вхождения по кругу, иначе поиск идет в одну сторону и останавливается..Вот оно и крутит, как приказано, зацикливая.
А Do While Not .Eof почему не подходит?
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056219
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БанджоПроблема в том, что перенос может пройти посередине поля, например в 9-м поле 7 строк, 3 остались на первой странице 4 ушло на вторую.
Нужно чтобы поле переносилось целиком. перенос части строк смоделировать не удалось-поле переносится целиком
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056225
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku, в отчете поля не таблицей, а настроенный вывод каждого поля отдельно - размеры, положение, данные, и он переносит построчно, посередине поля
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056227
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdkuперенос части строк смоделировать не удалось -поле переносится целикомУдивительно.
Вот здесь на рисунке поле 4 делится между страницами.
Показаны страницы 1 и 2.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056231
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle, неизвестно куда пользователь поставит программу, линки нужно создавать по его пути.
Do While Not .Eof - видимо тем, что я его не использовал .. давно или совсем.. уже не помню. Попробую.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056252
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Банджонеизвестно куда пользователь поставит программу, линки нужно создавать по его пути.И что?
У меня при передаче новой версии рабочая папка определяется программно
и соответственно переопределяются связи.
Заранее никаких требований к именам и расположению не предъявляется.

Для сетевых версий при новом подключении запрашивается путь к файлу с данными,
так же выполняется переопределение связей
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056255
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Банджо,

Что с полями в группах?
Довели до конца?
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056260
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michellesdkuперенос части строк смоделировать не удалось -поле переносится целикомУдивительно.
Вот здесь на рисунке поле 4 делится между страницами.
Показаны страницы 1 и 2.
:) дело , наверное, в том , что для раздела отчета "Область данных" у Michelle свойство макета "Не разрывать" - "Нет", а у sdku - "Да"... Вот и всё "удивительное"
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056264
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimportВот и всё "удивительное"Ведь правда.
Нервно хихикаю...
Что еще остается...)))
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056266
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport, у меня не разрывать для раздела стоит да, рвет поля
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056269
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__MichelleИ что?
У меня при передаче новой версии рабочая папка определяется программно
и соответственно переопределяются связи.
Заранее никаких требований к именам и расположению не предъявляется.
Вам проще. Но как вы понимаете с моим гото и реп я сам в это не полезу )

С группами никак не решусь разобрать готовый отчет.. пока читаю про линки, доделываю хвосты..
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056271
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ведь у меня тоже стоит Не разрывать "Да".
Слепо верю авторитетам.)))
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056274
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Банджоguest_rusimport, у меня не разрывать для раздела стоит да, рвет поля
ну, что сказать ... пока не выложите своё "творение", долго ещё гадать народ будет , что у вас там не получается... желательно mdb (ну или пример того, что у вас не получается) :)
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056277
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport, Так нечего особо выкладывать.. есть отчет в нем столбиком поля как в примере Мишеля, поля заполняются программно, расширение-сжатие "да". При переносе страницы рвет посередине поля, вот и все.. И можно бы закрыть глаза, да просто хорошо бы чтоб уж без этого )
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056281
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я могу выложить.
В отчете Отчет2_С_разрывом_поля ОбластьДанных имеет свойство Не разрывать "Да".
Поле 4 разрывается.
Видимо, не очень действует, когда ОбластьДанных имеет несколько полей по вертикали.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056285
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Банджо,
не стесняйтесь, выкладывайте пример, если желаете разобраться (воспроизведите ситуацию на простом примере, вашу базу на обозрение выкладывать не обязательно) :)
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056288
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Банджо,

Не "Мишеля", а "Мишели".
Michelle - женское имя.
Michel - мужское имя.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056297
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Банджо__MichelleИ что?
У меня при передаче новой версии рабочая папка определяется программно
и соответственно переопределяются связи.
Заранее никаких требований к именам и расположению не предъявляется.
Вам проще. Но как вы понимаете с моим гото и реп я сам в это не полезу )Чем проще, не знаю.
Да, в общем-то, не особо и сложно.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
For Each Tdf In CurrentDb().TableDefs
  With Tdf
   If Len(.Connect) > 0 Then
    .Connect = ";DATABASE=" & <новый путь>
    .RefreshLink
   End If
  End With
Next

При этом <новый путь>, если это в той же папке, что и программа,
определяется как CurrentProject.Path & "\" & <имя файла с расширением>.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056314
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Банджо,

как вариант --подчиненный отчет на дополнительный запрос, никаких мм ловить не надо
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
SELECT Table.[Код], 1 as ns,"текст1" as naim,Table.[текст1] FROM [Table] where len("" & текст1)>0
union all
SELECT Table.[Код], 2,"текст2" as naim,Table.[текст2] FROM [Table] where len("" & текст2)>0
union all
SELECT Table.[Код], 3,"текст3" as naim,Table.[текст3] FROM [Table] where len("" & текст3)>0
union all
SELECT Table.[Код], 4,"текст4" as naim,Table.[текст4] FROM [Table] where len("" & текст4)>0
union all
SELECT Table.[Код], 5,"текст5" as naim,Table.[текст5] FROM [Table] where len("" & текст5)>0
union all
SELECT Table.[Код], 6,"текст6" as naim,Table.[текст6] FROM [Table] where len("" & текст6)>0
union all
SELECT Table.[Код], 7,"текст7" as naim,Table.[текст7] FROM [Table] where len("" & текст7)>0
union all
SELECT Table.[Код], 8,"текст8" as naim,Table.[текст8] FROM [Table] where len("" & текст8)>0
union all
SELECT Table.[Код], 9,"текст9" as naim,Table.[текст9] FROM [Table] where len("" & текст9)>0
UNION ALL 
SELECT Table.[Код], 10,"текст10" as naim,Table.[текст10] FROM [Table] where len("" & текст10)>0;
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056323
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__MichelleБанджо,
Не "Мишеля", а "Мишели".

О, простите, я даже как-то не подумал о таком варианте )

Спасибо за линк, попробую собрать.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056328
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА, Спасибо, но там не текст, там сборная солянка данных, размеров и положений, которую пересобирать по новой мне видимо будет сложно.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056335
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Банджо,

к примеру в текст1 --адрес прописки
Код: sql
1.
2.
3.
4.
SELECT Table.[Код], 1 as ns,"адрес прописки" as naim,
indekc & ", " & область & ", " & район & ", " &  насПункт 
& ", " & улица & ", д." & дом 
& ",кв." & квартира  as текст1 FROM [Table] where len("" & текст1)>0



вы базы не выложили, так что идет игра в угадайку
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056340
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКАБанджо,

к примеру в текст1 --адрес прописки
Код: sql
1.
2.
3.
4.
SELECT Table.[Код], 1 as ns,"адрес прописки" as naim,
indekc & ", " & область & ", " & район & ", " &  насПункт 
& ", " & улица & ", д." & дом 
& ",кв." & квартира  as текст1 FROM [Table] where len("" & текст1)>0

Разве можно в WHERE алиасы указывать?
Не распознается.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056343
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,

where len("" & текст1)>0 можно отсюда убрать, отсечку делать уже в отчете
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056347
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в реалии надо учесть, что часть подполей пустые
Код: sql
1.
2.
3.
SELECT Table.[Код], 1 as ns,"адрес прописки" as naim,
indekc & (", "+область) & (", " + район) & (", " +  насПункт )
& (", " + улица) & (", д." + дом ) & (",кв." + квартира)  as текст1 FROM [Table]


и сходу не соображу как убрать запятую, если нет индекса
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056356
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКАи сходу не соображу как убрать запятую, если нет индексаОчень просто.)))
Код: sql
1.
SELECT Mid(("," + A) & ("," + B) & ("," + C) & ("," + D),2) AS ... FROM ...
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056358
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только вот, какое все это имеет отношение к исходной теме...
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056359
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Банджотам сборная солянка данных, размеров и положений...Зачем заниматься размерами и положениями?
Все это автоматически определяется данными через опцию Расширение/Сжатие.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056367
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__MichelleЯ могу выложить.
В отчете Отчет2_С_разрывом_поля ОбластьДанных имеет свойство Не разрывать "Да".
Поле 4 разрывается.
Видимо, не очень действует, когда ОбластьДанных имеет несколько полей по вертикали.

дело не в полях по вертикали, а в том , что фактически при печати раздел области данных превышает высоту страницы, тут надо по-видимому по другому :)
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056371
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimport,

Да, получается.
Хотя и с небольшими просветами между полями.
Но интересно также Ваше мнение об этом способе 18169784 .
В выложенном мной примере есть такой отчет - Отчет1_С_полями_в_группах.
Что скажете, можно так делать?
Мне видится преимущество в отсутствии кода и однократном открытии отчета.
Но, может, это и неправильно?
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056436
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelleguest_rusimport,
Что скажете, можно так делать?
Мне видится преимущество в отсутствии кода и однократном открытии отчета.
Но, может, это и неправильно?
Ну, так вы же сделали. :)
О преимуществах судить не берусь, наверное, всё будет зависеть от конкретного случая.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056460
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport, спасибо. Собственно я по этому пути и шел, только делал один КонецСтраницы и дальше вычислял где его поставить. Но ошибался в синтаксисе подсчета высот и ничего не считалось.

Вопрос - для чего нужна процедура на закрытии отчета?
И еще - 7800 это высота страницы А4, это жесткий параметр или может плавать от монитора\принтера и тп? Я пробовал вычислить эту высоту, просто ставил полоски, у меня получалось что граница на 13000. Нужно ли здесь что-то вычислять или можно спокойно использовать 7800?
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056462
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle, да, но все таки не все ими определяется, пришлось немного повозиться чтобы навести красоту )
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056474
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Однако проверил по .Top - получается что высота страницы на 14000.
Поля страницы по 2 см.

Почему у вас 7800 указано, от чего это зависит и что брать за опору?
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056476
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я думаю (это сугубо мое мнение) что надо отказаться от кода VBA и не скрывать какие-бы то ни было поля, а исключить их вывод еще на уровне RecordSource
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056490
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в примере Michelle:
-отчет не имеет источника данных
-в области данных 6 полей (в том что перенос будет правильно работать она сомневается-и прально делает)
при правильно сделанном отчете (источник, 1 поле в области данных все работает как надо-без изменений каких-либо свойств-только расширение)
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056491
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdkuА я думаю (это сугубо мое мнение) что надо отказаться от кода VBA и не скрывать какие-бы то ни было поля, а исключить их вывод еще на уровне RecordSourceРечь идет не о скрытии полей, а о их расширении и разрывах полей между страницами.
Наполнение полей может быть разным, отсюда и разная заполненность страницы.
Банджо__Michelle, да, но все таки не все ими определяется, пришлось немного повозиться чтобы навести красоту ) Вот сделали бы моим способом, и возиться бы не пришлось.
Think Different, как говорится.)))
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056494
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Банджо,
процедура ОбластьДанных_Print у меня в примере не корректна, надо бы так
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub ОбластьДанных_Print(Cancel As Integer, PrintCount As Integer)
h = Me.Controls("Поле1").Height
For i = 2 To 13
   h = h + Me.Controls("Поле" & i).Height
   If h > 9000 Then Me.Controls("КонецСтраницы" & i - 1).Visible = True: h = Me.Controls("Поле" & i).Height Else Me.Controls("КонецСтраницы" & i - 1).Visible = False
   r(i - 1) = Me.Controls("КонецСтраницы" & i - 1).Visible
Next i
If j = 0 Then j = 1: Cancel = True
End Sub



где 9000 - приблизительная высота страницы минус сумма высоты верхнего и нижнего поля (при альбомной её ориентации)
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056498
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdkuв примере Michelle:
-отчет не имеет источника данных
-в области данных 6 полей (в том что перенос будет правильно работать она сомневается-и прально делает)
при правильно сделанном отчете (источник, 1 поле в области данных все работает как надо-без изменений каких-либо свойств-только расширение)Чего-чего?
Какая разница, откуда поступили данные - из запроса или заданы в конструкторе?
В том, что мой способ будет работать правильно, я не сомневаюсь. Где увидели мои сомнения?
Кто сказал, что "правильно сделанный отчет, это одно поле в области данных"?
Абсолютно неверно.
Не только бухгалтерия существует.
Не делали Вы, похоже, медицинских документов...
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056499
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Банджо....Мне нужно знать реальную высоту поля чтобы вычислить какие поля переносить на другую страницу.Все это делается когда расширение устанавливается в "ДА".
Все уже сделано до нас.Не изобретайте велосипед
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056508
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdkuв примере Michelle:
......
-в области данных 6 полей
............Единственное ограничение моего способа состоит в том, что
максимальное количество уровней группировки в отчете - 10,
поэтому, с учетом заголовков и примечаний, можно иметь максимум только 21 поле по вертикали.
Но вряд ли этого не хватит.)))
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056514
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемая Michelle
__MichelleВидимо, не очень действует, когда ОбластьДанных имеет несколько полей по вертикали.Вот Ваши сомнения.
Вот Ваша база см.Таблица 1
Насчет одного поля в области данных беру свои слова обратно (извиняюсь-правильнее "чаще всего")
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056516
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdkuУважаемая Michelle
__MichelleВидимо, не очень действует, когда ОбластьДанных имеет несколько полей по вертикали.Вот Ваши сомнения.
Вот Ваша база см.Таблица 1
Насчет одного поля в области данных беру свои слова обратно (извиняюсь-правильнее "чаще всего") Это сказано мной не о моем способе , а о стандартном методе - Не разрывать "Да" для области данных.
Именно поэтому и появились другие решения.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056517
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport, а можно обойтись одним КС и через .Top сделать? Так вроде красивее и вроде бы можно..

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Private Sub ОбластьДанных_Print(Cancel As Integer, PrintCount As Integer)
Break = 0
For i = 1 To 14
   If Break = 0 And Me.Controls("Name" & i).Top > 14000 Then Break = Me.Controls("Name" & i - 1).Top - 20
Next i
If j = 0 Then j = 1: Cancel = True
End Sub


То есть если топ вылез за страницу, то просто присвоить Break топ предыдущего.

Но на формате дальше что-то ломается - выводит первую пустую страницу и вторую, первая пропадает

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub ОбластьДанных_Format(Cancel As Integer, FormatCount As Integer)
Me!КонецСтраницы.Visible = False
Break = 0
..................
If Break > 0 Then
Me.Controls("КонецСтраницы").Top = Break
Me.Controls("КонецСтраницы").Visible = True
End Sub



Можно это поправить?

зы я верно понимаю что J - запускает отчет дважды?

зызы Мишель, группы как-то имхо немного заплаточно выглядят, с нормальным кодом красивее )
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056519
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdkuВот Ваша база см.Таблица 1У меня Таблицы 1 не было.
Посмотреть не могу.
Можете сбросить в Ac2000?
Интересно, что там мне приписано...)))
И вообще интересно.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056521
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__MichelleНе делали Вы, похоже, медицинских документов...
Мишель - неужели коллега? )
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056522
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БанджоМишель, группы как-то имхо немного заплаточно выглядят, с нормальным кодом красивее )Ну-ну.
Дело вкуса.
Смешно, конечно...
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056525
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__MichelleБанджоМишель, группы как-то имхо немного заплаточно выглядят, с нормальным кодом красивее )Ну-ну.
Дело вкуса.
Смешно, конечно...
Да мне просто страшно все это снова разбирать-собирать ))
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056527
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Банджо__Michelleпропущено...
Ну-ну.
Дело вкуса.
Смешно, конечно...
Да мне просто страшно все это снова разбирать-собирать ))Так бы и сказали.
А то "заплаточно".

Еще посмотрим, как код сваяете.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056529
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Банджо,
в примере отчет открывается последовательно два раза потому, что видимость разрывов страниц устанавливается на этапе форматирования отчета и при PrintCount=1 ещё не задана, поэтому после первого открытия отчета значения видимости разрывов страниц сохраняются в глобальной переменной и задаются при повторном открытии отчета на этапе форматирования
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056546
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просьба.

Пожалуйста, переведите, кто может, базу 18171918 в 2000-ый.
И сбросьте сюда.

Надеюсь, не очень затруднит.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056555
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__MichelleПросьба.

Пожалуйста, переведите, кто может, базу 18171918 в 2000-ый.
И сбросьте сюда.

Надеюсь, не очень затруднит.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056560
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimport,

Большое спасибо!
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056573
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportБанджо,
в примере отчет открывается последовательно два раза потому, что видимость разрывов страниц устанавливается на этапе форматирования отчета и при PrintCount=1 ещё не задана, поэтому после первого открытия отчета значения видимости разрывов страниц сохраняются в глобальной переменной и задаются при повторном открытии отчета на этапе форматирования
Да, спасибо,я так и понял.
Вот только переменная j у меня обнуляется на втором открытии почему-то ..
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056576
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdkuВот Ваша база см.Таблица 1Посмотрела.
Вы сделали отчет Таблица 1, ленточный, с одним полем в области данных, с запретом разрыва.
Что это доказывает? Да ничего.
Стандартный случай, уже обговоренный, никаких неясностей не содержит.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056599
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нашел ошибку, переменная передается, отчет не работает. Более того, разъехались все поля в отчете ))
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056622
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__MichellesdkuВот Ваша база см.Таблица 1У меня Таблицы 1 не было.
Посмотреть не могу.
Можете сбросить в Ac2000?
Интересно, что там мне приписано...)))
И вообще интересно.Проверил-в архиве mdb
(Вам ничего не приписано-в таблице1 данные и она является источником отчета в облДанных которого поле этой таблицы с расширением "ДА")
Поле не разрывается-переносится целиком-может я чё не понимаю, но разве не этого хотел ТС?
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056632
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,

У меня таблицы не было. Это уже Ваше.
У меня там два отчета - один обычный (Отчет2_С_разрывом_поля) - с разрывом поля;
второй (Отчет1_С_полями_в_группах) - со способом решения этой проблемы.

sdkuПоле не разрывается-переносится целиком-может я чё не понимаю, но разве не этого хотел ТС?ТС хотел не совсем этого.
Чтобы не разрывалось поле, когда этих полей в области данных по вертикали больше одного.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056665
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku, у меня не ленточный отчет и полей в столбик 14
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056683
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Банджонашел ошибку, переменная передается, отчет не работает. Более того, разъехались все поля в отчете ))
если точно сделаете , как в моем примере (+ с коррекцией процедуры , как я указал выше, + с поправкой на высоту страницы для вашего случая её ориентации), то всё должно работать нормально :)
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056698
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Однако не получается с одним КС, какая-то хрень идет
Кусок кода как есть, торможу на первой строке и иду пошагово по строкам
На выходе формата верное значение 7416, на входе принта откуда-то берется 12021.
Что за фокус? Что там между ними встревает?

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Debug.Print "===формат врейк====" & Break
'Me.Controls("КонецСтраницы").Top = Break
Me.Controls("Линия").Top = Break
Debug.Print "===Линия формат====" & Me.Controls("Линия").Top '''(дает верное значение 7416)
End Sub

Private Sub ОбластьДанных_Print(Cancel As Integer, PrintCount As Integer)
Debug.Print "==Линия вход принт==" & Me.Controls("Линия").Top ''(дает 12021 )

For i = 1 To 14
Debug.Print (Nz(Me.Controls("Name" & i).Value) & " ++ " & Nz(Me.Controls("Name" & i).Top))
   If Break = 0 And Nz(Me.Controls("Name" & i).Top) > 8000 Then Break = Me.Controls("Name" & i - 1).Top - 15: Debug.Print ("!!!" & Me.Controls("Name" & i - 1).Value)
Next i
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056699
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport, я пробую через один КС и выставление .Top - visible.. ну кажется мне что так красивее . Но засада пока непонятно откуда
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056701
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Банджо,
Какое отношение ваши "изыскания" с Top имеют отношения к названию вашей темы? Что спросили, то ответили, остальное за рамками темы
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056755
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport, конечно никакого. Спасибо большое за помощь, с небольшими поправками получилось вот так
На формате
Код: vbnet
1.
2.
3.
4.
5.
6.
....
Me.Controls("КС1").Visible = False
For i = 2 To 11
   Me.Controls("КС" & i).Visible = r(i)
Next i
End Sub



и на принте
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Private Sub ОластьДанных_Print(Cancel As Integer, PrintCount As Integer)

For i = 2 To 12
If Break = False And Nz(Me.Controls("Name" & i).Top) + Nz(Me.Controls("Name" & i).Height) > 14000 Then
Me.Controls("КС" & i - 1).Visible = True
Break = True
Else
Me.Controls("&#202;&#209;" & i - 1).Visible = False
End If
r(i - 1) = Me.Controls("&#202;&#209;" & i - 1).Visible
Next i

If j = 0 Then j = 1: Cancel = True

End Sub



автоматом и подпись не отрывать обрабатывается.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39056787
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle, по вашему образцу собрал линк

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Private Sub Связи_Click()
Dim tdf As TableDef

Set dbs = CurrentDb
For Each tdf In CurrentDb().TableDefs
  With tdf
   If Len(.Connect) > 0 Then
    .Connect = ";DATABASE=" & CurrentProject.Path & "\" & "XXX_be.mdb"
    .RefreshLink
   End If
  End With
Next
Set dbs = Nothing
End Sub



Вроде работает. Этого достаточно или есть подводные камни? В autoexec его или куда правильно поставить?
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39057180
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно наверно один из подводных камней в том что если по каким-то причинам произойдет сбой, то таблица потеряется и все на этом.
Видимо правильнее иметь таблицу таблиц и обращаться к ней?
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39060030
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще вопрос.
Вздумалось мне тут видимостями поиграть на свою голову...
Все та же Форма1 каркас, на ней подформа2 РеестрПациентов сама по себе и связанная с ней по мастерэслэйву подформа3 РеестрОбследований. И еще кнопки УдалитьОбследование УдалитьПациента.
Ставлю на каррент РеестраПациентов проверку есть ли пациенты, есть ли обследования у пациента и соответственно показывать или нет кнопки и РеестрОбследований.

Выдает ошибки - нет значения, выход за рамки и тп. Но если ошибки игнорировать, то все в итоге делает верно.
Но ставить просто игнор ошибок видимо как-то неправильно будет.. что можно поправить?
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39060195
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. РЕКОМЕНДАЦИИ по публикации сообщений (ЧИТАЙТЕ FAQ, а также...) #7. #7. Если вы хотите обсудить несколько разных вопросов, создавайте несколько новых топиков - каждый со своей темой обсуждения.
2. Никаких "мастерэслэйвов" нет.
Есть другое. Смотрите документацию.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39060675
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportБанджо,
процедура ОбластьДанных_Print у меня в примере не корректна, надо бы так
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Private Sub &#206;&#225;&#235;&#224;&#241;&#242;&#252;&#196;&#224;&#237;&#237;&#251;&#245;_Print(Cancel As Integer, PrintCount As Integer)

For i = 2 To 12
Debug.Print (Nz(Me.Controls("Name" & i).Value) & " ++ " & (Nz(Me.Controls("Name" & i).Top) & " ++ " & Nz(Me.Controls("Name" & i).Height)))
If Break = False And Nz(Me.Controls("Name" & i).Top) + Nz(Me.Controls("Name" & i).Height) > 13000 Then
Me.Controls("КС" & i - 1).Visible = True
Break = True
Else
Me.Controls("КС" & i - 1).Visible = False
End If
r(i - 1) = Me.Controls("КС" & i - 1).Visible
Next i

If j = 0 Then j = 1: Cancel = True

End Sub



где 9000 - приблизительная высота страницы минус сумма высоты верхнего и нижнего поля (при альбомной её ориентации)

Влез какой-то фонарь, полез проверять - оказывается Me.Controls("Поле" & i).Height дает всегда 256. При этом Top дает реальное положение.

ДебагПринт
...++ 9423 ++ 256
...++ 13523 ++ 256
..++ 14594 ++ 0
..++ 14687 ++ 256
++ 16745 ++ 256

Почему так?
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39060715
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Банджоguest_rusimportБанджо,
процедура ОбластьДанных_Print у меня в примере не корректна, надо бы так
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Private Sub &#206;&#225;&#235;&#224;&#241;&#242;&#252;&#196;&#224;&#237;&#237;&#251;&#245;_Print(Cancel As Integer, PrintCount As Integer)

For i = 2 To 12
Debug.Print (Nz(Me.Controls("Name" & i).Value) & " ++ " & (Nz(Me.Controls("Name" & i).Top) & " ++ " & Nz(Me.Controls("Name" & i).Height)))
If Break = False And Nz(Me.Controls("Name" & i).Top) + Nz(Me.Controls("Name" & i).Height) > 13000 Then
Me.Controls("КС" & i - 1).Visible = True
Break = True
Else
Me.Controls("КС" & i - 1).Visible = False
End If
r(i - 1) = Me.Controls("КС" & i - 1).Visible
Next i

If j = 0 Then j = 1: Cancel = True

End Sub



где 9000 - приблизительная высота страницы минус сумма высоты верхнего и нижнего поля (при альбомной её ориентации)

Влез какой-то фонарь, полез проверять - оказывается Me.Controls("Поле" & i).Height дает всегда 256. При этом Top дает реальное положение.

ДебагПринт
...++ 9423 ++ 256
...++ 13523 ++ 256
..++ 14594 ++ 0
..++ 14687 ++ 256
++ 16745 ++ 256

Почему так?
во-первых - потому, что то, что вы привели тут - это не та процедура, которую я тут приводил , а ваша бурная фантазия на тему моего примера, а во-вторых - хотите разобраться - выкладывайте базу или пример в mdb того, что у вас не получается (вы упорно игнорируете последнее, за вас это пришлось делать Мишель...
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39060728
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport, не могу я базу отрезать... я пробовал (... ладно, буду разбираться.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39060739
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Банджо,
создать пустую базу и импортировать туда отчет и таблицу или запрос - источник записей этого отчета - это проблема? сомнительно мне что-то...
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39060773
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Банджо,
вариант с Top (может это поможет) :)
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39061223
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport, спасибо большое.
Я так понимаю, что .Height все же не работает и приходится идти в обход? Но почему не работает?

У меня в основе Ваш код, но немного поправил, и делаю без вычисления h, просто на Top, хотя так есть минусы (если между полями есть расстояние).

Если не сделать флаг на первый взвод видимости КС, то все КС после лимита становятся True, что не гуд - ввел Break.
При сбоях (неважно где) стирается j и .Visible, поэтому пришлось ввести начальные условия.
Так все вроде работает.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub Печать_Click()
Me.Dirty = False 'обновить таблицу
Break = False
j = 0
DoCmd.OpenReport "04Заключение", acPreview
DoCmd.Close acReport, "04Заключение"
DoCmd.OpenReport "04Заключение", acPreview
DoCmd.Maximize
End Sub



Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Private Sub ОбластьДанных_Print(Cancel As Integer, PrintCount As Integer)

If j = 0 Then
For i = 1 To 11
Me.Controls("KC" & i).Visible = False
Next i
End If

For i = 1 To 11
If Break = False And Nz(Me.Controls("Name" & i).Top) > 14520 Then
Me.Controls("KC" & i).Visible = True
Break = True
End If
r(i) = Me.Controls("KC" & i).Visible

Next i
If j = 0 Then j = 1: Cancel = True

End Sub
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39061280
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Банджо,
ваш вариант некорректен, лучше изучайте мой последний пример, у вас неверное представление о работе Top в многостраничном отчете, выведите через debug.print все значения Top полей отчета и всё поймете надеюсь
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39061290
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimport,

на мой вариант Банджо тоже не среагировал, причем во всех своих темах не выложил ни одного примера данных






+6
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39061384
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport, я его изучил, но видимо в силу нехватки знаний ничего принципиально различного с вашим вариантом не вижу. Можно что конкретно некорректно, куда смотреть?
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39061459
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Банджо,

не знаю как вам ещё объяснить, не можете разобраться в алгоритме - просто используйте его один в один, не понимаю, зачем вы всё пытаетесь не разобравшись до конца вносить изменения в то, что вам не понятно
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39061495
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport, просто ткните на некорректный кусок у меня, я дальше буду думать почему он работает нормально )

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

зы и все же: .Height - не работает? Просто интересно.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39061524
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Банджо,
у вас работает "нормально" ваш код, вероятно потому, что у вас в отчете получается не более 2-х страниц, было бы больше , то вы бы сами увидели всю его "нормальную" работу (вероятно вам ещё предстоит с этим столкнуться , судя по вашему непонятному упорству не использовать один в один предложенные вам решения)... что у вас там с Height происходит можно только гадать, чем заниматься совсем не хочется, и опять же из-за вашего непонятного нежелания выложить проблемный кусок базы или воспроизвести проблему на тестовом примере и приложить к форуму, ну, что тут можно сказать - "Каждый заблуждается в меру своих возможностей"
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39061616
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport, спасибо, я переделал.
Думаю Height не работает потому что где-то пролетает ошибка и сносит переменные.
Сейчас r(i) обнуляется на формате. Где - кто ее знает, буду искать по всей базе.

=первый формат===
=vis===6 =R(i)= False
=vis===7 =R(i)= False
=vis===8 =R(i)= False
=vis===9 =R(i)= False
=vis===10 =R(i)= False
=vis===11 =R(i)= False

=Принт===
==R(i)== False
==R(i)== False
==R(i)== False
=Top=KC==9 == 15740
==R(i)== True
==R(i)== False
==R(i)== False

=второй формат===
=vis===6 =R(i)= False
=vis===7 =R(i)= False
=vis===8 =R(i)= False
=vis===9 =R(i)= False
=vis===10 =R(i)= False
=vis===11 =R(i)= False
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39061623
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Банджо,
эта "беда" поправима, вы просто не обратили внимание , что в примере есть общий модуль Module1, где объявлены глобальные переменные

Код: vbnet
1.
2.
3.
4.
Option Compare Database

Public r(12) As Boolean
Public j
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39061644
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport, обратил ), там все прописано
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39061650
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Банджо,
подозреваю - опять где-то ваша "самодеятельность" :)
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39061658
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport, ну куда ж без нее :) Но дело было не в этом. Оказалось что на формате в любом случае идет False (не знаю почему), а на втором принте дает верно только если поля правильно выстроены в отчете. Если что-то налазит друг на друга, хоть на микрон - дает ошибку и "случайное" форматирование. Как-то так.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39061679
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Банджо,
абзац ... 5 страниц уже ... сдаюсь
YouTube Video
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39061688
Банджо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport, ну не с такой силой ))) Проверьте сами - зацепите поля, все сыпется.
А в остальном все работает )
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как узнать реальную высоту поля в отчете?
    #39552192
Pharmacist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Имею иную немного задачу, чем топикстартер, так что предложенные решения не подошли.

Задача: в отчете таблица. Каждая ячейка - отдельное поле. За счёт точного подгона размеров, рамки полей образуют таблицу. Необходимо, чтобы высота строки менялась, если данные в первое поле не влезли. Если ставить "Расширение - Да", то естественно растёт только то поле, где данные не влезли. Нижняя граница остальных благополучно остаётся на месте. Есть ли способ заставить их расти вместе?

Я сначала хотел выцепить высоту первого поля и вписать её в высоту остальных... но предсказуемо не получилось.
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39552387
bubucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тут есть
только границу у полей не забыть убрать, ибо она рисуется отдельно
...
Рейтинг: 0 / 0
Как узнать реальную высоту поля в отчете?
    #39552459
Pharmacist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bubucha,

Благодарю! Завтра попробую!
...
Рейтинг: 0 / 0
108 сообщений из 108, показаны все 5 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как узнать реальную высоту поля в отчете?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]